]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
3 years agobgpd: Pass non-transitive ext-communities between Route Server and RS clients 11036/head
Donatas Abraitis [Wed, 13 Apr 2022 17:40:30 +0000 (20:40 +0300)]
bgpd: Pass non-transitive ext-communities between Route Server and RS clients

https://datatracker.ietf.org/doc/html/rfc7947#section-2.2

Optional recognized and unrecognized BGP attributes,
   whether transitive or non-transitive, SHOULD NOT be updated by the
   route server (unless enforced by local IXP operator configuration)
   and SHOULD be passed on to other route server clients.

By default LB ext-community works with iBGP peers. When we receive a route
from eBGP peer, we can send LB ext-community to iBGP peers.

With this patch, allow sending LB ext-community to iBGP/eBGP peers if they
are set as RS clients.

FRR does not send non-transitive ext-communities to eBGP peers, but for
example GoBGP sends and if it's set as RS client, we should pass those attributes
towards another RS client.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agoMerge pull request #11027 from FRRouting/mergify/bp/stable/8.2/pr-10987
Donatas Abraitis [Fri, 15 Apr 2022 05:07:46 +0000 (08:07 +0300)]
Merge pull request #11027 from FRRouting/mergify/bp/stable/8.2/pr-10987

bgpd: Do not forget to update conditional advertisements rmaps for peer-groups (backport #10987)

3 years agobgpd: Do not forget to update conditional advertisements rmaps for peer-groups 11027/head
Donatas Abraitis [Thu, 7 Apr 2022 20:01:02 +0000 (23:01 +0300)]
bgpd: Do not forget to update conditional advertisements rmaps for peer-groups

When the peer is configured for the first time:
```
neighbor P1 peer-group
neighbor P1 remote-as external
neighbor P1 advertise-map ADV exist-map EXIST
neighbor 10.10.10.1 peer-group P1
```

Conditional advertisements route-maps are not updated and cond. advertisements
do not work until FRR restarted. BGP sessions clear does not help.

Or even changing peer-group for a peer, causes this bug to kick in.

```
no neighbor 10.10.10.1
neighbor 10.10.10.1 peer-group P2
```

With this fix, cond. advertisements start working immediatelly.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 9118301e48af0dc0157184554601c767cbd25128)

3 years agoMerge pull request #11019 from opensourcerouting/fix/bgp_aliases_with_community_backp...
Russ White [Wed, 13 Apr 2022 18:56:47 +0000 (14:56 -0400)]
Merge pull request #11019 from opensourcerouting/fix/bgp_aliases_with_community_backport_8.2

bgpd: [8.2] Allow setting BGP [large]community in route-maps

3 years agobgpd: Allow setting BGP [large]community in route-maps 11019/head
Donatas Abraitis [Fri, 8 Apr 2022 19:57:47 +0000 (22:57 +0300)]
bgpd: Allow setting BGP [large]community in route-maps

Before:
```
spine1-debian-11(config-route-map)# bgp community alias 65001:65001 test1
spine1-debian-11(config)# route-map rm permit 10
spine1-debian-11(config-route-map)# set community 65001:65001
% Malformed communities attribute
```

After:
```
spine1-debian-11(config)# bgp community alias 65001:65001 test1
spine1-debian-11(config)# route-map rm permit 10
spine1-debian-11(config-route-map)# set community 65001:65001
spine1-debian-11(config-route-map)#
```

Same for large-communities.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agoMerge pull request #10990 from FRRouting/mergify/bp/stable/8.2/pr-10966
Donald Sharp [Sat, 9 Apr 2022 11:35:07 +0000 (07:35 -0400)]
Merge pull request #10990 from FRRouting/mergify/bp/stable/8.2/pr-10966

bgpd: RPKI changes (backport #10966)

3 years agoMerge pull request #10991 from FRRouting/mergify/bp/stable/8.2/pr-10971
Donald Sharp [Sat, 9 Apr 2022 11:34:42 +0000 (07:34 -0400)]
Merge pull request #10991 from FRRouting/mergify/bp/stable/8.2/pr-10971

bgpd: RPKI memory leak (backport #10971)

3 years agoMerge pull request #10992 from FRRouting/mergify/bp/stable/8.2/pr-10953
Donald Sharp [Sat, 9 Apr 2022 11:33:51 +0000 (07:33 -0400)]
Merge pull request #10992 from FRRouting/mergify/bp/stable/8.2/pr-10953

bgpd: Fix memory leak in subgroup_announce_check (backport #10953)

3 years agobgpd: Fix memory leak in subgroup_announce_check 10992/head
Xiao Liang [Sat, 2 Apr 2022 09:00:26 +0000 (17:00 +0800)]
bgpd: Fix memory leak in subgroup_announce_check

Flush dummy attr to release objects allocated by route-map.

Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
(cherry picked from commit 7e7639f548cb3e3bfad8ee15ce6186a4ebe80488)

3 years agobgpd: Delay returning RPKI instance as running 10991/head
Donatas Abraitis [Tue, 5 Apr 2022 13:54:19 +0000 (16:54 +0300)]
bgpd: Delay returning RPKI instance as running

Start a separate timer which does the sync with the RPKI manager until
returns the synced status.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 1b2095d120e984a8d64496ca7d60ce59b7b3baa0)

3 years agobgpd: Return enum RPKI_NOT_BEING_USED instead of 0
Donatas Abraitis [Tue, 5 Apr 2022 12:52:40 +0000 (15:52 +0300)]
bgpd: Return enum RPKI_NOT_BEING_USED instead of 0

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit e1a05dd4101ffd0fdb64d0851f9726ca66dbe18c)

3 years agobgpd: Reuse is_stopping() in RPKI code same as with is_running()
Donatas Abraitis [Tue, 5 Apr 2022 11:14:00 +0000 (14:14 +0300)]
bgpd: Reuse is_stopping() in RPKI code same as with is_running()

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 9ca44fc8ef2a7193626e3bac1af698f877f5aa33)

3 years agobgpd: Reuse is_running() function in RPKI code for rtr_is_running
Donatas Abraitis [Tue, 5 Apr 2022 11:10:16 +0000 (14:10 +0300)]
bgpd: Reuse is_running() function in RPKI code for rtr_is_running

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 01fcc189829c0c14baa191595d9efe868761a02d)

3 years agobgpd: No need to check for NULL before calling XFREE() in RPKI code 10990/head
Donatas Abraitis [Tue, 5 Apr 2022 08:12:22 +0000 (11:12 +0300)]
bgpd: No need to check for NULL before calling XFREE() in RPKI code

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit c41a3cc5289f23d2aa70b5a9d8ddb7ebe408c54f)

3 years agobgpd: Track RTRLib memory allocations separately
Donatas Abraitis [Tue, 5 Apr 2022 08:02:07 +0000 (11:02 +0300)]
bgpd: Track RTRLib memory allocations separately

With fast `rpki reset`, seems that RTRLib related memory allocations leak
the memory. Need to figure this out later.

```
$ vtysh -c 'show memory | include RPKI'
BGP RPKI Cache server         :       12 variable       576       12       576
BGP RPKI Cache server group   :        0     48           0        1        56
BGP RPKI RTRLib               :   849657 variable  34453096   849662  41293504

$ for x in $(seq 1 60); do vtysh -c 'con' -c 'rpki' -c 'rpki reset'; sleep 1; done

$ vtysh -c 'show memory | include RPKI'
BGP RPKI Cache server         :       12 variable       576       12       576
BGP RPKI Cache server group   :        0     48           0        1        56
BGP RPKI RTRLib               :   849699 variable  69490616   849701  76323832
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 94ff78a7e3448a366288b14b674da8482f36afca)

3 years agoMerge pull request #10963 from FRRouting/mergify/bp/stable/8.2/pr-10946
Donatas Abraitis [Tue, 5 Apr 2022 06:09:55 +0000 (09:09 +0300)]
Merge pull request #10963 from FRRouting/mergify/bp/stable/8.2/pr-10946

pimd: Send immediate join( with possible SG RPT prune bit set (backport #10946)

3 years agopimd: Send immediate join( with possible SG RPT prune bit set 10963/head
Donald Sharp [Thu, 31 Mar 2022 17:07:06 +0000 (13:07 -0400)]
pimd: Send immediate join( with possible SG RPT prune bit set

When pimd has this setup:

src ----- rtr ------ receiver
           |
          rp

And the receiver sends a *,G join to rtr.  When the
src starts sending a S,G, rtr can wait up to one join/prune
interval before sending a S,G rpt prune.  This interval
causes the pimreg device to be in the S,G OIL as that the
RP does not know to prune this leg off.

before:

Timestamp: Thu Mar 31 10:15:18 2022 288767 usec
[MROUTE](10.103.0.5,239.0.0.4)           Iif: rtr-lan_src Oifs: rtr-lan  State: resolved Table: default
Timestamp: Thu Mar 31 10:15:18 2022 288777 usec
[MROUTE](10.103.0.5,239.0.0.4)           Iif: rtr-lan_src Oifs: rtr-lan rtr-lan-1  State: resolved Table: default
Timestamp: Thu Mar 31 10:15:18 2022 288789 usec
[MROUTE](10.103.0.5,239.0.0.4)           Iif: rtr-lan_src Oifs: pimreg rtr-lan rtr-lan-1  State: resolved Table: default
Timestamp: Thu Mar 31 10:15:49 2022 324995 usec
[MROUTE](10.103.0.5,239.0.0.4)           Iif: rtr-lan_src Oifs: rtr-lan rtr-lan-1  State: resolved Table: default
<31 seconds>

After:

Timestamp: Thu Mar 31 12:56:15 2022 501921 usec
(10.103.0.5,239.0.0.27)          Iif: rtr-lan_src Oifs: pimreg rtr-lan  State: resolved Table: default
Timestamp: Thu Mar 31 12:56:15 2022 501930 usec
(10.103.0.5,239.0.0.27)          Iif: rtr-lan_src Oifs: pimreg rtr-lan rtr-lan-1  State: resolved Table: default
Timestamp: Thu Mar 31 12:56:15 2022 502181 usec
(10.103.0.5,239.0.0.27)          Iif: rtr-lan_src Oifs: rtr-lan rtr-lan-1  State: resolved Table: default
<sub second>

What is actually happening:

rtr receives a *,G igmp join, sends a *,G join towards the rp
rtr receives a S,G packet <WRVIFWHOLE>
creates the S,G upstream, sends the register packet to the rp
the rp sees that it still has downstream interest so it forwards the packet on
After (up to 60 seconds ) the rtr, sends the normally scheduled join for
the G and sends the S,GRPT prune as part of it.

What is being done to fix it:

In wrvifwhole handling, when pimd detects that this is the FHR
and is not the RP *and* the incoming interface for the *,G
is different than the incomding interface for the S,G immediately
send a single join packet for the G( which will have the S,G RPT
prune in it ).  Only do this on the first time receiving the
WRVIFWHOLE.

Ticket: #2755650
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 33ec4015b628143a09274421ad31debce788858d)

3 years agotests: Reduce some pim test timings to more manageable levels
Donald Sharp [Fri, 1 Apr 2022 12:47:38 +0000 (08:47 -0400)]
tests: Reduce some pim test timings to more manageable levels

a) Remove the retry mechanism to continue looking for 75%
of the time for pim code.

   This alone saves a bunch of time in tests that use lib/pim.py
   Effectively all the times given for retry are already long
   enough.  Additionally some tests are gathering data with
   the expectation that they will not find data so the entire
   time is being taken up in retry's.  Extending the retry
   mechanism makes this even worse.  This is especially bad
   for pim in that keep alive timers are counting down and
   state can be removed due to excessive time waiting.

b) Reduce verify verify_multicast_traffic from 40 seconds
to 20 seconds to gather traffic data.

   A bunch of tests are doing this:
   a) gather pre test start traffic data( taking about 70
   seconds to run, because a bunch of time it was looking
   for data that does not exist yet)
   b) run a change to introduce a different traffic flow
   c) gather post test traffic data ( taking about 70
   seconds to run )

   Why does this matter?  Tests were iterating through
   all the different routers looking for traffic flow
   as well as different mroute state.  This is against
   the keepalive timer of 210 seconds.  It does not take
   long before the stream can be removed and the test is
   still looking for data that is no longer there due
   to state timeout.

   The multicast_pim_sm_topo3/test_multicast_pim_sm_topo3.py
   test reduced run time from 398 seconds to 297 seconds.
   Greatly reducing keepalive timeout problems.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit de3d6b4db41eb3c3d3c88c0009ba647271d2f2b1)

3 years agoMerge pull request #10951 from FRRouting/mergify/bp/stable/8.2/pr-10945
Donald Sharp [Fri, 1 Apr 2022 19:12:58 +0000 (15:12 -0400)]
Merge pull request #10951 from FRRouting/mergify/bp/stable/8.2/pr-10945

zebra: don't send RAs w/o LLv6 or on bridge-ports (backport #10945)

3 years agozebra: don't send RAs w/o LLv6 or on bridge-ports 10951/head
Trey Aspelund [Thu, 31 Mar 2022 16:35:18 +0000 (16:35 +0000)]
zebra: don't send RAs w/o LLv6 or on bridge-ports

It's confusing for a user to see 'Tx RA failed' in the logs when
they've enabled RAs (either through interface config or BGP unnumbered)
on an interface that can't send them.  Let's avoid sending RAs on
interfaces that are bridge_slaves or don't have a link-local address,
since they are the two of the most common reasons for RA Tx failures.

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
(cherry picked from commit 436a6a3e5126549d4482d5813ddd57b8c02215af)

3 years agoMerge pull request #10949 from FRRouting/mergify/bp/stable/8.2/pr-10947
Donald Sharp [Fri, 1 Apr 2022 13:14:51 +0000 (09:14 -0400)]
Merge pull request #10949 from FRRouting/mergify/bp/stable/8.2/pr-10947

isisd, lib, ospfd, pathd: Null out free'd pointer (backport #10947)

3 years agoisisd, lib, ospfd, pathd: Null out free'd pointer 10949/head
Donald Sharp [Thu, 31 Mar 2022 19:56:24 +0000 (15:56 -0400)]
isisd, lib, ospfd, pathd: Null out free'd pointer

The commands:

router isis 1
  mpls-te on
  no mpls-te on
  mpls-te on
  no mpls-te on
!

Will crash

Valgrind gives us this:
==652336== Invalid read of size 8
==652336==    at 0x49AB25C: typed_rb_min (typerb.c:495)
==652336==    by 0x4943B54: vertices_const_first (link_state.h:424)
==652336==    by 0x493DCE4: vertices_first (link_state.h:424)
==652336==    by 0x493DADC: ls_ted_del_all (link_state.c:1010)
==652336==    by 0x47E77B: isis_instance_mpls_te_destroy (isis_nb_config.c:1871)
==652336==    by 0x495BE20: nb_callback_destroy (northbound.c:1131)
==652336==    by 0x495B5AC: nb_callback_configuration (northbound.c:1356)
==652336==    by 0x4958127: nb_transaction_process (northbound.c:1473)
==652336==    by 0x4958275: nb_candidate_commit_apply (northbound.c:906)
==652336==    by 0x49585B8: nb_candidate_commit (northbound.c:938)
==652336==    by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64)
==652336==    by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250)
==652336==  Address 0x6f928e0 is 272 bytes inside a block of size 320 free'd
==652336==    at 0x48399AB: free (vg_replace_malloc.c:538)
==652336==    by 0x494BA30: qfree (memory.c:141)
==652336==    by 0x493D99D: ls_ted_del (link_state.c:997)
==652336==    by 0x493DC20: ls_ted_del_all (link_state.c:1018)
==652336==    by 0x47E77B: isis_instance_mpls_te_destroy (isis_nb_config.c:1871)
==652336==    by 0x495BE20: nb_callback_destroy (northbound.c:1131)
==652336==    by 0x495B5AC: nb_callback_configuration (northbound.c:1356)
==652336==    by 0x4958127: nb_transaction_process (northbound.c:1473)
==652336==    by 0x4958275: nb_candidate_commit_apply (northbound.c:906)
==652336==    by 0x49585B8: nb_candidate_commit (northbound.c:938)
==652336==    by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64)
==652336==    by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250)
==652336==  Block was alloc'd at
==652336==    at 0x483AB65: calloc (vg_replace_malloc.c:760)
==652336==    by 0x494B6F8: qcalloc (memory.c:116)
==652336==    by 0x493D7D2: ls_ted_new (link_state.c:967)
==652336==    by 0x47E4DD: isis_instance_mpls_te_create (isis_nb_config.c:1832)
==652336==    by 0x495BB29: nb_callback_create (northbound.c:1034)
==652336==    by 0x495B547: nb_callback_configuration (northbound.c:1348)
==652336==    by 0x4958127: nb_transaction_process (northbound.c:1473)
==652336==    by 0x4958275: nb_candidate_commit_apply (northbound.c:906)
==652336==    by 0x49585B8: nb_candidate_commit (northbound.c:938)
==652336==    by 0x495CE4A: nb_cli_classic_commit (northbound_cli.c:64)
==652336==    by 0x495D6C5: nb_cli_apply_changes_internal (northbound_cli.c:250)
==652336==    by 0x495D23E: nb_cli_apply_changes (northbound_cli.c:268)

Let's null out the pointer.  After this change.  Valgrind no longer reports issues
and isisd no longer crashes.

Fixes: #10939
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit aa5ced0ac866d1645075bef6325884dcb71a3703)

3 years agoMerge pull request #10941 from FRRouting/mergify/bp/stable/8.2/pr-10937
Donald Sharp [Thu, 31 Mar 2022 17:40:11 +0000 (13:40 -0400)]
Merge pull request #10941 from FRRouting/mergify/bp/stable/8.2/pr-10937

bgpd: Show `match script SCRIPT` in running config (backport #10937)

3 years agobgpd: Show `match script SCRIPT` in running config 10941/head
Donatas Abraitis [Thu, 31 Mar 2022 06:34:14 +0000 (09:34 +0300)]
bgpd: Show `match script SCRIPT` in running config

Before:
```
route-map lua permit 10
exit
```

After:
```
route-map lua permit 10
 match script rm
exit
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 49ecb8b807eb429d8d09afb07b1af5e1b5408be4)

3 years agoMerge pull request #10929 from FRRouting/mergify/bp/stable/8.2/pr-10918
Igor Ryzhov [Thu, 31 Mar 2022 08:18:51 +0000 (11:18 +0300)]
Merge pull request #10929 from FRRouting/mergify/bp/stable/8.2/pr-10918

3 years agoMerge pull request #10930 from FRRouting/mergify/bp/stable/8.2/pr-10922
Donald Sharp [Wed, 30 Mar 2022 16:33:49 +0000 (12:33 -0400)]
Merge pull request #10930 from FRRouting/mergify/bp/stable/8.2/pr-10922

ospf6d: fix crash when applying a route-map on a temporary route (backport #10922)

3 years agoospf6d: fix crash when applying a route-map on a temporary route 10930/head
Igor Ryzhov [Tue, 29 Mar 2022 15:09:53 +0000 (18:09 +0300)]
ospf6d: fix crash when applying a route-map on a temporary route

ospf6_routemap_rule_match_interface uses route->ospf6 field for matching
so we must fill the field in our temporary variable.

Fixes #10911.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
(cherry picked from commit 68618ebca80938445959eb62e08f8ede67b53e0d)

3 years agoMerge pull request #10920 from FRRouting/mergify/bp/stable/8.2/pr-10834
Donald Sharp [Wed, 30 Mar 2022 12:28:03 +0000 (08:28 -0400)]
Merge pull request #10920 from FRRouting/mergify/bp/stable/8.2/pr-10834

ospfd: Default route becomes stale  route in nbrs even after flush from originator (backport #10834)

3 years agoMerge pull request #10921 from FRRouting/mergify/bp/stable/8.2/pr-10906
Donald Sharp [Wed, 30 Mar 2022 12:27:28 +0000 (08:27 -0400)]
Merge pull request #10921 from FRRouting/mergify/bp/stable/8.2/pr-10906

bgpd: Stop LLGR timer when the connection is established (backport #10906)

3 years agobgpd: Make sure we pop the table from the stack when decoding struct attr 10929/head
Donatas Abraitis [Tue, 29 Mar 2022 14:47:28 +0000 (17:47 +0300)]
bgpd: Make sure we pop the table from the stack when decoding struct attr

```
bgpd[81718]: bgpd/bgp_routemap.c:382: route_match_script(): assertion (lua_gettop(lfs->L) == 1) failed
BGP[81718]: Received signal 6 at 1648554165 (si_addr 0x6e00013f36, PC 0x7fcc5adebce1); aborting...
BGP[81718]: /usr/local/lib/libfrr.so.0(zlog_backtrace_sigsafe+0x5e) [0x7fcc5b1caf5e]
BGP[81718]: /usr/local/lib/libfrr.so.0(zlog_signal+0xe6) [0x7fcc5b1cb136]
BGP[81718]: /usr/local/lib/libfrr.so.0(+0xcd4b2) [0x7fcc5b1f54b2]
BGP[81718]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7fcc5af89140]
BGP[81718]: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x141) [0x7fcc5adebce1]
BGP[81718]: /lib/x86_64-linux-gnu/libc.so.6(abort+0x123) [0x7fcc5add5537]
BGP[81718]: /usr/local/lib/libfrr.so.0(_zlog_assert_failed+0xd7) [0x7fcc5b21ecd7]
BGP[81718]: /usr/lib/frr/bgpd(+0x162710) [0x55ed70255710]
BGP[81718]: /usr/local/lib/libfrr.so.0(+0xc0e47) [0x7fcc5b1e8e47]
BGP[81718]: /usr/local/lib/libfrr.so.0(route_map_apply_ext+0x4b6) [0x7fcc5b1eaaf6]
BGP[81718]: /usr/lib/frr/bgpd(+0x13eb24) [0x55ed70231b24]
BGP[81718]: /usr/lib/frr/bgpd(bgp_update+0x7db) [0x55ed7023f81b]
BGP[81718]: /usr/lib/frr/bgpd(bgp_nlri_parse_ip+0x113) [0x55ed70241bc3]
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 9aa2174c3990169e46b23b6e07cd87c145e364ed)

3 years agobgpd: Do not print .lua extension twice
Donatas Abraitis [Tue, 29 Mar 2022 09:11:57 +0000 (12:11 +0300)]
bgpd: Do not print .lua extension twice

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 93b2d38aedcf6d42e63d50b353927134a832e57a)

3 years agobgpd: Stop LLGR timer when the connection is established 10921/head
Donatas Abraitis [Mon, 28 Mar 2022 08:41:35 +0000 (11:41 +0300)]
bgpd: Stop LLGR timer when the connection is established

When the connection goes up, the timer is not stopped and if we have a
subsequent GR event we have an old timer which is not as we expect.

Before:
```
spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 95
Paths: (1 available, best #1, table default, mark routes to be retained for a longer time. Requires support for Long-lived BGP Graceful Restart)
  Not advertised to any peer
  65001 47583, (stale)
    192.168.0.1 from 192.168.0.1 (100.100.200.100)
      Origin incomplete, valid, external, best (First path received)
      Community: llgr-stale
      Last update: Mon Mar 28 08:27:53 2022
      Time until Long-lived stale route deleted: 23 <<<<<<<<<<<<

spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 103
Paths: (1 available, best #1, table default)
  Advertised to non peer-group peers:
  192.168.0.1
  65001 47583
    192.168.0.1 from 192.168.0.1 (100.100.200.100)
      Origin incomplete, valid, external, best (First path received)
      Last update: Mon Mar 28 08:43:29 2022

spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 103
Paths: (1 available, best #1, table default, mark routes to be retained for a longer time. Requires support for Long-lived BGP Graceful Restart)
  Not advertised to any peer
  65001 47583, (stale)
    192.168.0.1 from 192.168.0.1 (100.100.200.100)
      Origin incomplete, valid, external, best (First path received)
      Community: llgr-stale
      Last update: Mon Mar 28 08:43:30 2022
      Time until Long-lived stale route deleted: 17 <<<<<<<<<<<<<<<
```

After:
```
spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 79
Paths: (1 available, best #1, table default, mark routes to be retained for a longer time. Requires support for Long-lived BGP Graceful Restart)
  Not advertised to any peer
  65001 47583, (stale)
    192.168.0.1 from 192.168.0.1 (0.0.0.0)
      Origin incomplete, valid, external, best (First path received)
      Community: llgr-stale
      Last update: Mon Mar 28 09:05:18 2022
      Time until Long-lived stale route deleted: 24 <<<<<<<<<<<<<<<

spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 87
Paths: (1 available, best #1, table default)
  Advertised to non peer-group peers:
  192.168.0.1
  65001 47583
    192.168.0.1 from 192.168.0.1 (100.100.200.100)
      Origin incomplete, valid, external, best (First path received)
      Last update: Mon Mar 28 09:05:25 2022

spine1-debian-11# sh ip bgp 192.168.100.1/32
BGP routing table entry for 192.168.100.1/32, version 87
Paths: (1 available, best #1, table default, mark routes to be retained for a longer time. Requires support for Long-lived BGP Graceful Restart)
  Not advertised to any peer
  65001 47583, (stale)
    192.168.0.1 from 192.168.0.1 (100.100.200.100)
      Origin incomplete, valid, external, best (First path received)
      Community: llgr-stale
      Last update: Mon Mar 28 09:05:29 2022
      Time until Long-lived stale route deleted: 29 <<<<<<<<<<<<<<
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 0d4532cd828b0538bf759ad2401e3cc1b7f7e135)

3 years agoospfd: Default route becomes stale route in nbrs even after flush from originator. 10920/head
rgirada [Mon, 21 Mar 2022 09:48:46 +0000 (02:48 -0700)]
ospfd: Default route becomes stale route in nbrs even after flush from originator.

Description:
Default route is not getting flushed from neighbours though originator
        triggered flush and deleted LSA from its database. It become as stale
        LSA in  neighbours databse forever. This could seen in the following
        sequence of configurations with less than a second interval b/w configs.
        And this could happen only when originator shouldnt have default route
        in its rib so it originates default route only when configure with 'always'
        option.

        step-1:default-information originate always
        step-2:no default-information originate always
        step-3:default-information originate

        In step-1, default route will be originated to AS.
        In step-2, default route will be flushed to AS, but neighbours will be
                   discarding this update due to minlsainterval condition.
                   And it is expected that DUT need to keep send this update
                   until it receives the ack from neighbours by adding each
                   neighbour's retransmission list.
        In Step-3: It is deleting the lsas from nbr's retransmission list
                   by assuming it initiated the flush. This is cuasing to not
                   send the lsa update anymore to neighbours which makes
                   stale lsa in nbrs forever.

Fix:
        Allowed to delete the lsa from retransmission list only when lsa is
        not in maxage during flushing procedure.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
(cherry picked from commit ab31275cf6243ae713e8e94df28fc2b8d887798e)

3 years agoMerge pull request #10907 from opensourcerouting/fix/pr10883_backport_8.2
Igor Ryzhov [Tue, 29 Mar 2022 09:29:15 +0000 (12:29 +0300)]
Merge pull request #10907 from opensourcerouting/fix/pr10883_backport_8.2

bgpd: [8.2] Fix possible insufficient stream data

3 years agoMerge pull request #10909 from FRRouting/mergify/bp/stable/8.2/pr-10878
Igor Ryzhov [Tue, 29 Mar 2022 09:28:33 +0000 (12:28 +0300)]
Merge pull request #10909 from FRRouting/mergify/bp/stable/8.2/pr-10878

bgpd: Fix crash for `show ip bgp vrf all all` (backport #10878)

3 years agobgpd: Fix crash for `show ip bgp vrf all all` 10909/head
Donatas Abraitis [Fri, 25 Mar 2022 09:35:39 +0000 (11:35 +0200)]
bgpd: Fix crash for `show ip bgp vrf all all`

When `all` is specified BGP pointer is always NULL, we need to iterate over
all instances separately.

```
BGP[170822]: Received signal 11 at 1648199394 (si_addr 0x30, PC 0x562e96597090); aborting...
BGP[170822]: /usr/local/lib/libfrr.so.0(zlog_backtrace_sigsafe+0x5e) [0x7f378a57ff6e]
BGP[170822]: /usr/local/lib/libfrr.so.0(zlog_signal+0xe6) [0x7f378a580146]
BGP[170822]: /usr/local/lib/libfrr.so.0(+0xcd4c2) [0x7f378a5aa4c2]
BGP[170822]: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7f378a33e140]
BGP[170822]: /usr/lib/frr/bgpd(bgp_afi_safi_peer_exists+0) [0x562e96597090]
BGP[170822]: /usr/lib/frr/bgpd(+0x15c3b8) [0x562e9654a3b8]
BGP[170822]: /usr/local/lib/libfrr.so.0(+0x75a9e) [0x7f378a552a9e]
BGP[170822]: /usr/local/lib/libfrr.so.0(cmd_execute_command+0x5d) [0x7f378a552e2d]
BGP[170822]: /usr/local/lib/libfrr.so.0(cmd_execute+0xc0) [0x7f378a553070]
BGP[170822]: /usr/local/lib/libfrr.so.0(+0xe3697) [0x7f378a5c0697]
BGP[170822]: /usr/local/lib/libfrr.so.0(+0xe3db1) [0x7f378a5c0db1]
BGP[170822]: /usr/local/lib/libfrr.so.0(+0xe6c30) [0x7f378a5c3c30]
BGP[170822]: /usr/local/lib/libfrr.so.0(thread_call+0x73) [0x7f378a5bb743]
BGP[170822]: /usr/local/lib/libfrr.so.0(frr_run+0xd0) [0x7f378a578750]
BGP[170822]: /usr/lib/frr/bgpd(main+0x344) [0x562e964cf3f4]
BGP[170822]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea) [0x7f378a18bd0a]
BGP[170822]: /usr/lib/frr/bgpd(_start+0x2a) [0x562e964d10ea]
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit fa5ac3786591b1ea855e8789dead74aa3c36d366)

3 years agobgpd: Fix mixed print types for BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_STRUCTURE_LENGTH 10907/head
Donatas Abraitis [Mon, 28 Mar 2022 08:08:33 +0000 (11:08 +0300)]
bgpd: Fix mixed print types for BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_STRUCTURE_LENGTH

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agobgpd: Fix possible insufficient stream data
Donald Sharp [Fri, 25 Mar 2022 11:44:55 +0000 (07:44 -0400)]
bgpd: Fix possible insufficient stream data

When reading the BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_STRUCTURE
it is possible that the length read in the packet is insufficiently
large enough to read a BGP_PREFIX_SID_SRV6_L3_SERVICE_SID_STRUCTURE.
Let's ensure that it is.

Fixes: #10860
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agoMerge pull request #10900 from FRRouting/mergify/bp/stable/8.2/pr-10894
Donatas Abraitis [Mon, 28 Mar 2022 06:45:51 +0000 (09:45 +0300)]
Merge pull request #10900 from FRRouting/mergify/bp/stable/8.2/pr-10894

babeld: Rehook up interface up events (backport #10894)

3 years agoMerge pull request #10898 from FRRouting/mergify/bp/stable/8.2/pr-10892
David Lamparter [Sun, 27 Mar 2022 20:04:41 +0000 (22:04 +0200)]
Merge pull request #10898 from FRRouting/mergify/bp/stable/8.2/pr-10892

3 years agobabeld: Rehook up interface up events 10900/head
Donald Sharp [Sun, 27 Mar 2022 00:46:36 +0000 (20:46 -0400)]
babeld: Rehook up interface up events

When babeld was switched over to the zapi
interface up/down callbacks the interface up
event was not properly put back in.

Fixes: #10893
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 93d9b1afbec6e63d78ca087833d52036b294ed58)

3 years agolib: Ensure order of operations is expected with SECONDS 10898/head
Donald Sharp [Sat, 26 Mar 2022 20:20:53 +0000 (16:20 -0400)]
lib: Ensure order of operations is expected with SECONDS

These 3 values:
ONE_DAY_SECOND
ONE_WEEK_SECOND
ONE_YEAR_SECOND

Are defined based upon the number of seconds.  Unfortunately doing math
on these values say something like:

days = t->tv_sec / ONE_DAY_SECOND;

Once you go over about a day causes the order of operations to cause the multiplication
to get messed up:

204 if (!t)
(gdb) n
207 w = d = h = m = ms = 0;
(gdb) set t->tv_sec = ONE_DAY_SECOND + 30
(gdb) n
208 memset(buf, 0, size);
(gdb)
210 us = t->tv_usec;
(gdb)
211 if (us >= 1000) {
(gdb)
212 ms = us / 1000;
(gdb)
213 us %= 1000;
(gdb)
217 if (ms >= 1000) {
(gdb)
222 if (t->tv_sec > ONE_WEEK_SECOND) {
(gdb)
227 if (t->tv_sec > ONE_DAY_SECOND) {
(gdb)
228 d = t->tv_sec / ONE_DAY_SECOND;
(gdb) n
229 t->tv_sec -= d * ONE_DAY_SECOND;
(gdb) n
232 if (t->tv_sec >= HOUR_IN_SECONDS) {
(gdb) p d
$6 = 2073600
(gdb) p t->tv_sec
$7 = -179158953570
(gdb)

Converting to adding paranthesis around around the ONE_DAY_SECOND causes
the order of operations to work as expected.

Fixes: #10880
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit bddfc297419843cf075ae5524b6647735b00e9f9)

3 years agoMerge pull request #10872 from FRRouting/mergify/bp/stable/8.2/pr-10867
Donatas Abraitis [Sun, 27 Mar 2022 17:45:17 +0000 (20:45 +0300)]
Merge pull request #10872 from FRRouting/mergify/bp/stable/8.2/pr-10867

zebra: Fix use after deletion event in freebsd (backport #10867)

3 years agoMerge pull request #10886 from FRRouting/mergify/bp/stable/8.2/pr-10861
Donald Sharp [Fri, 25 Mar 2022 18:58:08 +0000 (14:58 -0400)]
Merge pull request #10886 from FRRouting/mergify/bp/stable/8.2/pr-10861

tools: Replace `strings` to `tr` for frrinit.sh (backport #10861)

3 years agoMerge pull request #10885 from FRRouting/mergify/bp/stable/8.2/pr-10879
Donald Sharp [Fri, 25 Mar 2022 14:46:12 +0000 (10:46 -0400)]
Merge pull request #10885 from FRRouting/mergify/bp/stable/8.2/pr-10879

bgpd: Fix crash for `show ip bgp vrf all all neighbors 192.168.0.1 ...` (backport #10879)

3 years agotools: Replace `strings` to `tr` for frrinit.sh 10886/head
Donatas Abraitis [Thu, 24 Mar 2022 13:26:26 +0000 (15:26 +0200)]
tools: Replace `strings` to `tr` for frrinit.sh

dc3bae68a2422ead82a12fa8480417fd4e351cdd added strings command, which is wrong.

It requires additional package to be installed on the system (binutils).

Let's just get use `tr`.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 3989029bc06733955138ba914529bbdb743d2066)

3 years agobgpd: Fix crash for `show ip bgp vrf all all neighbors 192.168.0.1 ...` 10885/head
Donatas Abraitis [Fri, 25 Mar 2022 09:53:47 +0000 (11:53 +0200)]
bgpd: Fix crash for `show ip bgp vrf all all neighbors 192.168.0.1 ...`

When `all` is specified BGP pointer is always NULL, we need to iterate over
all instances separately.

```
Received signal 11 at 1648199394 (si_addr 0x30, PC 0x562e96597090); aborting...
 /usr/local/lib/libfrr.so.0(zlog_backtrace_sigsafe+0x5e) [0x7f378a57ff6e]
 /usr/local/lib/libfrr.so.0(zlog_signal+0xe6) [0x7f378a580146]
 /usr/local/lib/libfrr.so.0(+0xcd4c2) [0x7f378a5aa4c2]
 /lib/x86_64-linux-gnu/libpthread.so.0(+0x14140) [0x7f378a33e140]
 /usr/lib/frr/bgpd(bgp_afi_safi_peer_exists+0) [0x562e96597090]
 /usr/lib/frr/bgpd(+0x15c3b8) [0x562e9654a3b8]
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 75ce3b14f3689f17621740db86f1522e1a8b4b0b)

3 years agoMerge pull request #10873 from FRRouting/mergify/bp/stable/8.2/pr-10854
Donald Sharp [Fri, 25 Mar 2022 13:58:54 +0000 (09:58 -0400)]
Merge pull request #10873 from FRRouting/mergify/bp/stable/8.2/pr-10854

pathd: bad order of nai adjacencies for ipv6 (backport #10854)

3 years agoMerge pull request #10870 from FRRouting/mergify/bp/stable/8.2/pr-10857
Donatas Abraitis [Fri, 25 Mar 2022 07:51:40 +0000 (09:51 +0200)]
Merge pull request #10870 from FRRouting/mergify/bp/stable/8.2/pr-10857

bgpd: Turn off thread when running `no bmp targets X` (backport #10857)

3 years agopathd: bad order of nai adjacencies for ipv6 10873/head
Philippe Guibert [Wed, 23 Mar 2022 16:03:53 +0000 (17:03 +0100)]
pathd: bad order of nai adjacencies for ipv6

The order of nai adjacencies ipv6 addresses was wrong.
The src and the destination addresses were swapped.
Change it.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
(cherry picked from commit a38d5b7af20b60a8eb0344e02f7875909b828b27)

3 years agozebra: Fix use after deletion event in freebsd 10872/head
Donald Sharp [Fri, 25 Mar 2022 00:02:33 +0000 (20:02 -0400)]
zebra: Fix use after deletion event in freebsd

In the FreeBSD code if you delete the interface
and it has no configuration, the ifp pointer will
be deleted from the system *but* zebra continues
to dereference the just freed pointer.

==58624== Invalid read of size 1
==58624==    at 0x48539F3: strlcpy (in /usr/local/libexec/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==58624==    by 0x2B0565: ifreq_set_name (ioctl.c:48)
==58624==    by 0x2B0565: if_get_flags (ioctl.c:416)
==58624==    by 0x2B2D9E: ifan_read (kernel_socket.c:455)
==58624==    by 0x2B2D9E: kernel_read (kernel_socket.c:1403)
==58624==    by 0x499F46E: thread_call (thread.c:2002)
==58624==    by 0x495D2B7: frr_run (libfrr.c:1196)
==58624==    by 0x2B40B8: main (main.c:471)
==58624==  Address 0x6baa7f0 is 64 bytes inside a block of size 432 free'd
==58624==    at 0x484ECDC: free (in /usr/local/libexec/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==58624==    by 0x4953A64: if_delete (if.c:283)
==58624==    by 0x2A93C1: if_delete_update (interface.c:874)
==58624==    by 0x2B2DF3: ifan_read (kernel_socket.c:453)
==58624==    by 0x2B2DF3: kernel_read (kernel_socket.c:1403)
==58624==    by 0x499F46E: thread_call (thread.c:2002)
==58624==    by 0x495D2B7: frr_run (libfrr.c:1196)
==58624==    by 0x2B40B8: main (main.c:471)
==58624==  Block was alloc'd at
==58624==    at 0x4851381: calloc (in /usr/local/libexec/valgrind/vgpreload_memcheck-amd64-freebsd.so)
==58624==    by 0x496A022: qcalloc (memory.c:116)
==58624==    by 0x49546BC: if_new (if.c:164)
==58624==    by 0x49546BC: if_create_name (if.c:218)
==58624==    by 0x49546BC: if_get_by_name (if.c:603)
==58624==    by 0x2B1295: ifm_read (kernel_socket.c:628)
==58624==    by 0x2A7FB6: interface_list (if_sysctl.c:129)
==58624==    by 0x2E99C8: zebra_ns_enable (zebra_ns.c:127)
==58624==    by 0x2E99C8: zebra_ns_init (zebra_ns.c:214)
==58624==    by 0x2B3FF2: main (main.c:401)
==58624==

Zebra needs to pass back whether or not the ifp pointer
was freed when if_delete_update is called and it should
then check in ifan_read as well as ifm_read that the
ifp pointer is still valid for use.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit d0438da6b09333d2b77a9eac2e9fffbbae6e603b)

3 years agobgpd: Turn off thread when running `no bmp targets X` 10870/head
Donatas Abraitis [Thu, 24 Mar 2022 10:00:57 +0000 (12:00 +0200)]
bgpd: Turn off thread when running `no bmp targets X`

Avoid use-after-free and prevent from crashing:

```
(gdb) bt
0  raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50
1  0x00007f2a15c2c30d in core_handler (signo=11, siginfo=0x7fffb915e630, context=<optimized out>) at lib/sigevent.c:261
2  <signal handler called>
3  0x00007f2a156201e4 in bmp_stats (thread=<optimized out>) at bgpd/bgp_bmp.c:1330
4  0x00007f2a15c3d553 in thread_call (thread=thread@entry=0x7fffb915ebf0) at lib/thread.c:2001
5  0x00007f2a15bfa570 in frr_run (master=0x55c43a393ae0) at lib/libfrr.c:1196
6  0x000055c43930627c in main (argc=<optimized out>, argv=<optimized out>) at bgpd/bgp_main.c:519
(gdb)
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 4008aa1a24f8175831e2b4917555aaa71d5ebddd)

3 years agoMerge pull request #10841 from opensourcerouting/fix/backport_pim_igmp_query_check_8.2
mobash-rasool [Wed, 23 Mar 2022 09:25:52 +0000 (14:55 +0530)]
Merge pull request #10841 from opensourcerouting/fix/backport_pim_igmp_query_check_8.2

pimd: [8.2] Pim igmp query backport

3 years agopimd: fix igmp packet check 10841/head
ron [Wed, 19 Jan 2022 09:37:28 +0000 (17:37 +0800)]
pimd: fix igmp packet check

ip source 0.0.0.0 is OK (RFC 3376: 4.2.13.).

Signed-off-by: ron <lyq140hf2006@163.com>
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agopimd: fix igmp query packet
ron [Wed, 19 Jan 2022 09:35:30 +0000 (17:35 +0800)]
pimd: fix igmp query packet

'Max Resp Time' in v2 query needs no encode (RFC 2236: 2.2.).

Signed-off-by: ron <lyq140hf2006@163.com>
3 years agoMerge pull request #10840 from FRRouting/mergify/bp/stable/8.2/pr-10814
Donatas Abraitis [Tue, 22 Mar 2022 06:56:16 +0000 (08:56 +0200)]
Merge pull request #10840 from FRRouting/mergify/bp/stable/8.2/pr-10814

ospf6d: observed crash in ospf6_decrement_retrans_count. (backport #10814)

3 years agoospf6d: crash in ospf6_decrement_retrans_count. 10840/head
Manoj Naragund [Thu, 17 Mar 2022 11:28:02 +0000 (16:58 +0530)]
ospf6d: crash in ospf6_decrement_retrans_count.

Problem:
ospf6d crash is observed when lsack is received from the neighbour for
AS External LSA.

RCA:
The crash is observed in ospf6_decrement_retrans_count while decrementing
retransmit counter for the LSA when lsack is recived. This is because in
ospf6_flood_interace when new LSA is being added to the neighbour's list
the incrementing is happening on the received LSA instead of the already
present LSA in scope DB which is already carrying counters.

when this new LSA replaces the old one, the already present counters are
not copied on the new LSA this creates counter mismatch which results in
a crash when lsack is recevied due to counter going to negative.

Fix:
The fix involves following changes.
   1. In ospf6_flood_interace when LSA is being added to retrans list
      check if there is alreday lsa in the scoped db and increment
      the counter on that if present.
   2. In ospf6_lsdb_add copy the retrans counter from old to new lsa
      when its being replaced.

Signed-off-by: Manoj Naragund <mnaragund@vmware.com>
(cherry picked from commit 7c20ee06d3deddd6c53fcd5b09c40854c66633ea)

3 years agoFRR Release 8.2.2 docker/8.2.2 frr-8.2.2
Jafar Al-Gharaibeh [Sun, 13 Mar 2022 15:59:48 +0000 (10:59 -0500)]
FRR Release 8.2.2

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
3 years agoFRR Release 8.2.2 frr-8.2.2.rc
Jafar Al-Gharaibeh [Sat, 12 Mar 2022 23:00:13 +0000 (17:00 -0600)]
FRR Release 8.2.2

- Fix zebra nexthop tracking with import check
- Fix bgp graceful restart double config

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
3 years agoMerge pull request #10784 from FRRouting/mergify/bp/stable/8.2/pr-10783
David Lamparter [Sat, 12 Mar 2022 22:22:11 +0000 (23:22 +0100)]
Merge pull request #10784 from FRRouting/mergify/bp/stable/8.2/pr-10783

3 years agozebra: prefixlen is not afi/safi dependant in encoding nexthops 10784/head
Donald Sharp [Sat, 12 Mar 2022 16:05:23 +0000 (11:05 -0500)]
zebra: prefixlen is not afi/safi dependant in encoding nexthops

When encoding a response to the upper level protocol the
prefixlen is not something that needs to be part of the
switch statement for handling of a prefix.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit b74f72c1fb7f1c394def38b884b689f1e56eb05b)

3 years ago*: When matching against a nexthop send and process what it matched against
Donald Sharp [Sat, 12 Mar 2022 15:47:16 +0000 (10:47 -0500)]
*: When matching against a nexthop send and process what it matched against

Currently the nexthop tracking code is only sending to the requestor
what it was requested to match against.  When the nexthop tracking
code was simplified to not need an import check and a nexthop check
in b8210849b8ac1abe2d5d9a5ab2459abfde65efa5 for bgpd.  It was not
noticed that a longer prefix could match but it would be seen
as a match because FRR was not sending up both the resolved
route prefix and the route FRR was asked to match against.

This code change causes the nexthop tracking code to pass
back up the matched requested route (so that the calling
protocol can figure out which one it is being told about )
as well as the actual prefix that was matched to.

Fixes: #10766
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 06e4e90132ad23815c6f288dd7e6be334f5ab233)

3 years agozebra: Remove unused ZEBRA_NHT_EXACT_MATCH
Donald Sharp [Sat, 12 Mar 2022 13:27:22 +0000 (08:27 -0500)]
zebra: Remove unused ZEBRA_NHT_EXACT_MATCH

This usage was removed in an earlier bit of code
do some final cleanup

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 5c7861fe352c41de1b322b8960827773bd0222f9)

3 years agoMerge pull request #10777 from FRRouting/mergify/bp/stable/8.2/pr-10767
Donald Sharp [Fri, 11 Mar 2022 19:14:42 +0000 (14:14 -0500)]
Merge pull request #10777 from FRRouting/mergify/bp/stable/8.2/pr-10767

bgpd: Do not fail when going from GR mode to GR (backport #10767)

3 years agobgpd: Do not fail when going from GR mode to GR 10777/head
Donald Sharp [Thu, 10 Mar 2022 14:33:57 +0000 (09:33 -0500)]
bgpd: Do not fail when going from GR mode to GR

If you enter:

router bgp 325
  bgp graceful-restart
  bgp graceful-restart
!

The second command entered will fail.  This is not
something that should be failing as that it's a no-op.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 624037727072a9087c936cb7f221bc53c22932f2)

3 years agoFRR Release 8.2.1 docker/8.2.1 frr-8.2.1 frr-8.2.1.rc
Jafar Al-Gharaibeh [Wed, 9 Mar 2022 19:50:09 +0000 (13:50 -0600)]
FRR Release 8.2.1

- bgp RPKI fix
- grpc fixes

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
3 years agoMerge pull request #10752 from FRRouting/mergify/bp/stable/8.2/pr-10741
Donatas Abraitis [Tue, 8 Mar 2022 07:22:07 +0000 (09:22 +0200)]
Merge pull request #10752 from FRRouting/mergify/bp/stable/8.2/pr-10741

critical fixes for grpc (backport #10741)

3 years agolib: grpc: fix handling of "empty" yang type 10752/head
Christian Hopps [Sun, 6 Mar 2022 16:58:26 +0000 (11:58 -0500)]
lib: grpc: fix handling of "empty" yang type

- rather than coerce `const char *` to std:string&, just pass the
C ptr, as that's what is used anyway.

fixes #10578

Signed-off-by: Christian Hopps <chopps@labn.net>
(cherry picked from commit fe095adc24a91eef3265ac803bb805cd297b3522)

3 years agolib: grpc: fix shutdown code
Christian Hopps [Sat, 5 Mar 2022 16:04:43 +0000 (11:04 -0500)]
lib: grpc: fix shutdown code

fixes #9732

Signed-off-by: Christian Hopps <chopps@labn.net>
(cherry picked from commit 83f6fce7d2fece4617bd85e3da0894fc820dab8d)

3 years agolib: grpc: initialize uninitialized member variables
Christian Hopps [Sat, 26 Feb 2022 12:55:32 +0000 (07:55 -0500)]
lib: grpc: initialize uninitialized member variables

fixes #9732, fixes #10578

Signed-off-by: Christian Hopps <chopps@labn.net>
(cherry picked from commit c85ecd64050faccd9796ff9e8b935c3b0868eb7b)

3 years agolib: grpc: do not remove candidate entry too soon
Christian Hopps [Sun, 6 Mar 2022 11:58:22 +0000 (06:58 -0500)]
lib: grpc: do not remove candidate entry too soon

Fix from Rafael Zalamena <rzalamena@opensourcerouting.org>

Signed-off-by: Christian Hopps <chopps@labn.net>
(cherry picked from commit 96d434f8530b9b096c661a7ac30fffe47f57c774)

3 years agolib: tweak northbound gRPC default timeout
Rafael Zalamena [Mon, 21 Feb 2022 11:28:11 +0000 (06:28 -0500)]
lib: tweak northbound gRPC default timeout

Don't let open sockets hang for too long. This will fix an issue where a
improperly coded client (e.g. socat) could exaust the amount of open
file descriptors.

Documentation:
https://grpc.github.io/grpc/cpp/md_doc_keepalive.html

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
(cherry picked from commit 673e4407700b90c5ecbbcec5e06fec07fc1149b1)

3 years agoMerge pull request #10736 from ton31337/fix/backport_rpki_to_8.2
Jafar Al-Gharaibeh [Sat, 5 Mar 2022 15:14:03 +0000 (09:14 -0600)]
Merge pull request #10736 from ton31337/fix/backport_rpki_to_8.2

bgpd: [8.2] RPKI fixes backport

3 years agobgpd: Fix while(read()) for RPKI sync callback 10736/head
Donatas Abraitis [Fri, 4 Mar 2022 21:36:34 +0000 (23:36 +0200)]
bgpd: Fix while(read()) for RPKI sync callback

Bad formatting applied and it worked with small amount of prefixes (lurking).

With full BGP feed and full RPKI table, this causes infinity loop.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
3 years agobgpd: Pass struct pfx_record to sizeof
Donatas Abraitis [Wed, 2 Feb 2022 11:30:52 +0000 (13:30 +0200)]
bgpd: Pass struct pfx_record to sizeof

Passing argument "&rec" of type "struct pfx_record *" and argument
"1UL" to function "read" is suspicious because
"sizeof (struct pfx_record) /*40*/" is expected.

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
3 years agoFRR Release 8.2 docker/8.2.0 frr-8.2
Jafar Al-Gharaibeh [Wed, 2 Mar 2022 06:14:46 +0000 (00:14 -0600)]
FRR Release 8.2

  The FRRouting community would like to announce FRR Release 8.2.
  This release consists of just over 800 commits from 62 authors.
  Selected features and bug fixes are listed below.

babeld:
    Fix the checks for truncated packets

bfdd:
    Correct one spelling error of comment
    Fix detection timeout update
    Fix possibly wrong counter of control packets

bgpd:
    Add "json" option to a few more show commands
    Add 'show bgp <afi> <safi> json detail' header data
    Add a 6 hour warning to missing policy
    Add an ability to match ipv6 next-hop by prefix-list
    Add autocomplete for access-list under bmp node
    Add autocomplete for as-path filters
    Add autocomplete for set/match community/large/ext lists
    Add long-lived graceful restart capability
    Add peer-groups to neighbor autocomplete
    Adjust symbolic names for cease notifications according to rfc4486
    Deprecate dpa, advertiser and rcid_path path attributes
    Extended bgp administrative shutdown communication
    Fix crash when using "show bgp vrf all"
    Fix inconsistency of match ip/ipv6 next-hop commands
    Fix missing name of default vrf
    Handle TCP connection errors with connection callbacks for RPKI
    Implement llgr helper mode
    Implement rfc9072
    Support redirect import more than one route-target ipv6

docker:
    Update alpine build enable set own version

isisd:
    Add link state traffic engineering support
    Fix router capability tlv parsing issues
    Fix running-config for fast-reroute
    Make isis work with default vrf name different than 'default'

ospf6d:
    Add missing vrf parameter to "clear ipv6 ospf6 interface"
    Add prompt for commands with non-exist vrf
    Add support for nssa type-7 address ranges
    Add the ability of specifying router-id/area-id in no debug ospf6
    Do not originate type-4 lsa when nssa
    Do not send type-5 into stub area
    Fix ecmp inter-area route nexthop update
    Fix memory leak for `show ipv6 ospf6 zebra json`

ospfd:
    Fix wrong comparison of routemap name
    Fix crash on "ospf send-extra-data zebra"
    Fix incorrect detection of topology changes in helper mode
    Fix loss of mixed form in "range" command
    Fix no-form of "graceful-restart" command
    Fix summary-address deletion
    Fix wrong parsing of te subtlv

pbrd:
    Add vlan actions to vty
    Pbr route maps get addr family of nhgs
    Protect from a possible null dereference

pimd:
    Do not allow 224.0.0.0/24 range in igmp join
    Fix igmp user config
    Fix msdp mesh grp with wildcard member addr
    Fix stale forwarding entries left around after join goes away
    Fix FRR drops IGMP packets for TOS value other than 0XC0

redhat:
    Check if frr.conf already exists
    Logrotate file has typo for staticd

ripd:
    Fix packet send for non primary addresses

vtysh:
    Add missing rpki node when showing config
    Improve startup time by ca. ×6
    remove `address-family evpn`

watchfrr:
    Allow an integrated config to work within a namespace

zebra:
    Add optional nhg id output to `show ip ro`
    Add resolver flag for nexthop in json
    Add support for json output in srv6 locator detail command
    Don't lose next hop weights while exporting via fpm
    Fix buffer overflow
    Fix netns deletion
    Fix route-map application when when using vrfs

* Contributors
Abhishek Naik
Adriano Marto Reis
Ahmad Caracalli
anlan_cs
Anuradha Karuppiah
ARShreenidhi
Baptiste Jonglez
Chirag Shah
Christian Hopps
ckishimo
David Lamparter
David Schweizer
Donald Lee
Donald Sharp
Donatas Abraitis
Eli Baum
ewlumpkin
Fabrice Fontaine
Fredi Raspall
github login name
Hiroki Shirokura
Igor Ryzhov
Iqra Siddiqui
Jafar Al-Gharaibeh
Javier Garcia
Jonas Gorski
Juraj Vijtiuk
Kantesh Mundaragi
Karel Van Hecke
kiselev99
LEI BAO
Lou Berger
Louis Scalbert
Manoj Naragund
Mark Stapp
Marlin Cremers
Martin Buck
Martin Winter
Mobashshera Rasool
Olivier Dugeon
Philippe Guibert
Punith Kumar
qingkaishi
Quentin Young
Rafael Zalamena
Renato Westphal
rgirada
ron
Ruslan Babayev
Ryoga Saito
Sai Gomathi
Sarita Patra
Solyn
Stephen Worley
Tomi Salminen
Trey Aspelund
wangshengjun
Xiao Liang
Yamato Sugawara
Yuan Yuan
zyxwvu Shi

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
3 years agodebian, redhat: update changelog for new release
Jafar Al-Gharaibeh [Wed, 2 Mar 2022 06:09:40 +0000 (00:09 -0600)]
debian, redhat: update changelog for new release

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
3 years agoMerge pull request #10703 from FRRouting/mergify/bp/dev/8.2/pr-10652
Jafar Al-Gharaibeh [Tue, 1 Mar 2022 21:47:31 +0000 (15:47 -0600)]
Merge pull request #10703 from FRRouting/mergify/bp/dev/8.2/pr-10652

pimd: FRR drops IGMP packets for TOS value other than 0XC0 (backport #10652)

3 years agoMerge pull request #10702 from FRRouting/mergify/bp/dev/8.2/pr-10697
Jafar Al-Gharaibeh [Tue, 1 Mar 2022 20:50:49 +0000 (14:50 -0600)]
Merge pull request #10702 from FRRouting/mergify/bp/dev/8.2/pr-10697

lib: Fix FreeBSD clock_gettime(CLOCK_THREAD_CPUTIME_ID,..) going back… (backport #10697)

3 years agopimd: FRR drops IGMP packets for TOS value other than 0XC0 10703/head
Mobashshera Rasool [Fri, 25 Feb 2022 06:10:52 +0000 (22:10 -0800)]
pimd: FRR drops IGMP packets for TOS value other than 0XC0

Currently the code is expecting the TOS value for received
packet to be 0xC0 and hence it is discarding packets having
TOS value other than 0xc0.

We need to make sure that we are sending the packet with
TOS 0xC0 and while receiving we can allow any TOS value.
Let's follow Postel's law.
Checked Cisco behavior as well. It also accepts all TOS values.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
(cherry picked from commit baee5b57fc08658bab0207ecdc5ef48d705de8fb)

3 years agolib: Fix FreeBSD clock_gettime(CLOCK_THREAD_CPUTIME_ID,..) going backwards 10702/head
Donald Sharp [Tue, 1 Mar 2022 14:02:33 +0000 (09:02 -0500)]
lib: Fix FreeBSD clock_gettime(CLOCK_THREAD_CPUTIME_ID,..) going backwards

On FreeBSD I have noticed that subsuquent calls to clock_gettime(..)
can return an after time that is before first calls value.
This in turn is generating CPU_HOG's because the subtraction
is wrapping into very very large numbers:

2022/02/28 20:12:58 SHARP: [PTDQA-70FG5]     start: 35.741981000  now: 35.740581000
2022/02/28 20:12:58 SHARP: [XK9YH-ZD8FA][EC 100663313] CPU HOG: task zclient_read (800744240) ran for 0ms (cpu time 18446744073709550ms)

(Please note I added the first line of debug to figure this issue out).

I have been asked to open a FreeBSD bug report and have done so.
In the mean time I think that it is important that FRR does
not generate bogus CPU HOG's on FreeBSD ( especially since
this may or may not be easily fixed and FRR has no control
over what version of the operating system, operators are
going to be running with FRR.

So, add a bit of specialized code that checks to see if
the after time in FreeBSD is before the now time in
thread_consumed_time and do some quick manipulations
to not have this issue.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 4e2839de649c7981d3ee742a0b5520ea96ffa872)

3 years agoMerge pull request #10695 from ton31337/fix/backport_10689
Jafar Al-Gharaibeh [Tue, 1 Mar 2022 17:57:46 +0000 (11:57 -0600)]
Merge pull request #10695 from ton31337/fix/backport_10689

zebra: [8.2] Bsd zebra graceful restart cleanup

3 years agoMerge pull request #10692 from FRRouting/mergify/bp/dev/8.2/pr-10691
Donald Sharp [Tue, 1 Mar 2022 15:54:48 +0000 (10:54 -0500)]
Merge pull request #10692 from FRRouting/mergify/bp/dev/8.2/pr-10691

bgpd: fix missing name of default vrf (backport #10691)

3 years agoMerge pull request #10698 from FRRouting/mergify/bp/dev/8.2/pr-10690
Donald Sharp [Tue, 1 Mar 2022 15:54:06 +0000 (10:54 -0500)]
Merge pull request #10698 from FRRouting/mergify/bp/dev/8.2/pr-10690

snapcraft: Add missing libelf-dev build package (backport #10690)

3 years agoMerge pull request #10696 from mjstapp/fix_doc_zebra_8_2
Donatas Abraitis [Tue, 1 Mar 2022 15:44:39 +0000 (17:44 +0200)]
Merge pull request #10696 from mjstapp/fix_doc_zebra_8_2

[8.2] doc: fix typo in zebra user doc

3 years agosnapcraft: Add missing libelf-dev build package 10698/head
Martin Winter [Mon, 28 Feb 2022 23:41:29 +0000 (00:41 +0100)]
snapcraft: Add missing libelf-dev build package

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
(cherry picked from commit 720f01c5c1edf8f952a72ee5bbf2e7b23826fe72)

3 years agodoc: fix typo in zebra user doc 10696/head
Mark Stapp [Tue, 1 Mar 2022 13:43:30 +0000 (08:43 -0500)]
doc: fix typo in zebra user doc

Fix a typo in the zebra doc file that generates a warning.

Signed-off-by: Mark Stapp <mstapp@nvidia.com>
3 years agozebra: Prevent crash if ZEBRA_ROUTE_ALL is used for a route type 10695/head
Donald Sharp [Sun, 27 Feb 2022 19:00:41 +0000 (14:00 -0500)]
zebra: Prevent crash if ZEBRA_ROUTE_ALL is used for a route type

FRR will crash when the re->type is a ZEBRA_ROUTE_ALL and it
is inserted into the meta-queue.  Let's just put some basic
code in place to prevent a crash from happening.  No routing
protocol should be using ZEBRA_ROUTE_ALL as a value but
bugs do happen.  Let's just accept the weird route type
gracefully and move on.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agozebra: Get zebra graceful restart working when restarting on *BSD
Donald Sharp [Sun, 27 Feb 2022 19:11:13 +0000 (14:11 -0500)]
zebra: Get zebra graceful restart working when restarting on *BSD

Upon restart zebra reads in the kernel state.  Under linux
there is a mechanism to read the route and convert the protocol
to the correct internal FRR protocol to allow the zebra graceful
restart efforts to work properly.

Under *BSD I do not see a mechanism to convey the original FRR
protocol into the kernel and thus back out of it.  Thus when
zebra crashes ( or restarts ) the routes read back in are kernel
routes and are effectively lost to the system and FRR cannot
remove them properly.  Why?  Because FRR see's kernel routes
as routes that it should not own and in general the admin
distance for those routes will be a better one than the
admin distance from a routing protocol.  This is even
worse because when the graceful restart timer pops and rib_sweep
is run, FRR becomes out of sync with the state of the kernel forwarding
on *BSD.

On restart, notice that the route is a self route that there
is no way to know it's originating protocol.  In this case
let's set the protocol to ZEBRA_ROUTE_STATIC and set the admin
distance to 255.

This way when an upper level protocol reinstalls it's route
the general zebra graceful restart code still works.  The
high admin distance allows the code to just work in a way
that is graceful( HA! )

The drawback here is that the route shows up as a static
route for the time the system is doing it's work.  FRR
could introduce *another* route type but this seems like
a bad idea and the STATIC route type is loosely analagous
to the type of route it has become.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agodoc: Update documentation to indicate *BSD struggles
Donald Sharp [Sun, 27 Feb 2022 19:18:09 +0000 (14:18 -0500)]
doc: Update documentation to indicate *BSD struggles

*BSD has some special struggles associated with the graceful
restart code in zebra.  Add a bit of documentation to outline
this problem and how it is solved.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
3 years agobgpd: fix missing name of default vrf 10692/head
anlan_cs [Sat, 5 Feb 2022 21:36:54 +0000 (16:36 -0500)]
bgpd: fix missing name of default vrf

Before:
(config-router-af)# advertise-all-vni
% Please unconfigure EVPN in VRF (null)

After:
(config-router-af)# advertise-all-vni
% Please unconfigure EVPN in VRF default

Just use `bgp->name_pretty` to make it pretty.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
(cherry picked from commit 2b94e4b69ee2a883f9902920fd2b9d22614a2488)

3 years agoMerge pull request #10681 from FRRouting/mergify/bp/dev/8.2/pr-10678
Jafar Al-Gharaibeh [Mon, 28 Feb 2022 23:51:50 +0000 (17:51 -0600)]
Merge pull request #10681 from FRRouting/mergify/bp/dev/8.2/pr-10678

staticd: Fix `make check` failures (backport #10678)

3 years agoMerge pull request #10688 from FRRouting/mergify/bp/dev/8.2/pr-10683
Jafar Al-Gharaibeh [Mon, 28 Feb 2022 23:51:19 +0000 (17:51 -0600)]
Merge pull request #10688 from FRRouting/mergify/bp/dev/8.2/pr-10683

zebra: Use the routes vrf not the nexthop vrf for route-map application (backport #10683)

3 years agoMerge pull request #10680 from FRRouting/mergify/bp/dev/8.2/pr-10667
Jafar Al-Gharaibeh [Mon, 28 Feb 2022 21:58:16 +0000 (15:58 -0600)]
Merge pull request #10680 from FRRouting/mergify/bp/dev/8.2/pr-10667

Bufsize (backport #10667)

3 years agozebra: Use the routes vrf not the vrf of the nexthop for route-map application 10688/head
Donald Sharp [Mon, 28 Feb 2022 18:08:01 +0000 (13:08 -0500)]
zebra: Use the routes vrf not the vrf of the nexthop for route-map application

When a end operator is doing cross vrf imports in bgp:

router bgp 3239 vrf FOO
  address-family ipv4 uni
    import vrf BAR
!

and zebra has this configuration:

vrf FOO
  ip protocol bgp route-map EVA
!

The current code in zebra_nhg.c was looking up the vrf of the
nexthop and attempting to apply the ip protocol route-map.

For most people the nexthop vrf and the re vrf are one and the
same so they never see a problem.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 45dafca86cf68e7351be997351f2b1da623401a6)

3 years agostaticd: Fix `make check` failures 10681/head
Donald Sharp [Mon, 28 Feb 2022 13:18:55 +0000 (08:18 -0500)]
staticd: Fix `make check` failures

Recent commit:
abc246e19345cbd2bc74c7dc50dac0b9cf2addf8

Has broken `make check` with recently new compilers:

/usr/bin/ld: staticd/libstatic.a(static_nb_config.o): warning: relocation against `zebra_ecmp_count' in read-only section `.text'
  CCLD     tests/bgpd/test_peer_attr
  CCLD     tests/bgpd/test_packet
/usr/bin/ld: staticd/libstatic.a(static_zebra.o): in function `static_zebra_capabilities':
/home/sharpd/frr5/staticd/static_zebra.c:208: undefined reference to `zebra_ecmp_count'
/usr/bin/ld: staticd/libstatic.a(static_zebra.o): in function `static_zebra_route_add':
/home/sharpd/frr5/staticd/static_zebra.c:418: undefined reference to `zebra_ecmp_count'
/usr/bin/ld: staticd/libstatic.a(static_nb_config.o): in function `static_nexthop_create':
/home/sharpd/frr5/staticd/static_nb_config.c:174: undefined reference to `zebra_ecmp_count'
/usr/bin/ld: /home/sharpd/frr5/staticd/static_nb_config.c:175: undefined reference to `zebra_ecmp_count'
/usr/bin/ld: warning: creating DT_TEXTREL in a PIE
collect2: error: ld returned 1 exit status
make: *** [Makefile:8679: tests/lib/test_grpc] Error 1
make: *** Waiting for unfinished jobs....

Essentially the newly introduced variable zebra_ecmp_count is not available in the
libstatic.a compiled and make check has code that compiles against it.

The fix is to just move the variable to the library.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 7c1e76aa8d753716cf0afd9204bdeb55ad985283)

3 years agodoc: Document a existing cli for zebra that was missing 10680/head
Donald Sharp [Sat, 26 Feb 2022 20:45:47 +0000 (15:45 -0500)]
doc: Document a existing cli for zebra that was missing

The -s or --nl-bufsize option was missing, document it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 4dca0c10df92bec3f200bbac545eb1f782956049)

3 years agozebra: Allow *BSD to specify a receive buffer size
Donald Sharp [Sat, 26 Feb 2022 20:40:15 +0000 (15:40 -0500)]
zebra: Allow *BSD to specify a receive buffer size

End operator is reporting that they are receiving buffer overruns
when attempting to read from the kernel receive socket.  It is
possible to adjust this size to more modern levels especially
for when the system is under load.  Modify the code base
so that *BSD operators can use the zebra `-s XXX` option
to specify a read buffer.

Additionally setup the default receive buffer size on *BSD
to be 128k instead of the 8k so that FRR does not run into
this issue again.

Fixes: #10666
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 9fb83b55066e5cafa344d6a049e363fb631683f6)

3 years agoMerge pull request #10671 from FRRouting/mergify/bp/dev/8.2/pr-10669
Igor Ryzhov [Sun, 27 Feb 2022 15:43:48 +0000 (18:43 +0300)]
Merge pull request #10671 from FRRouting/mergify/bp/dev/8.2/pr-10669

*: Add necessary new line for output of vty_out() (backport #10669)

3 years ago*: Add necessary new line for output of vty_out() 10671/head
anlan_cs [Sun, 27 Feb 2022 01:38:29 +0000 (09:38 +0800)]
*: Add necessary new line for output of vty_out()

Signed-off-by: anlan_cs <vic.lan@pica8.com>
(cherry picked from commit 4d4c404bf6f82ec7df67baff072e4f237c47180e)