Commit Graph

32255 Commits

Author SHA1 Message Date
Jafar Al-Gharaibeh
2863e7efbc FRR Release 9.0.0
- Major Highlights:
-   Introduce `mgmtd` daemon
-   Add BGP `neighbor path-attribute treat-as-withdraw` command
-   Add BGP ASN dot notation support (RFC 5396)
-   Add BGP Software Version capability
-   Allow BGP peering via 127.0.0.0/8
-   Deprecate BGP `internet` community - this is the Cisco-specific community, which is never been RFC-defined and confusing
-   Implement `match source-protocol` for BGP route maps
-   Implement BGP Node Target extended communities (draft-ietf-idr-node-target-ext-comm)
-   Implement Flex-Algo for SR-MPLS (RFC 9350)
-   Add support for IS-IS `advertise-passive-only`
-   Add IS-IS `affinity-map` support
-   Add the `graceful-restart hello-delay` OSPFv2/OSPFv3 command
-   Add the `ipv6 mld join` PIMv6 command
-   Add `allow-ecmp x` RIP/RIPng Command
-   Add BFD support for RIP
- For a full list of new features and bug fixes, please refer to:
-   https://frrouting.org/release/

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2023-08-08 12:06:22 -05:00
Donatas Abraitis
7d60bcdad8
Merge pull request #14132 from FRRouting/mergify/bp/stable/9.0/pr-14129
bgpd: Fix for session reset issue caused by malformed core attributes  in update message (backport #14129)
2023-08-03 22:30:29 +03:00
Samanvitha B Bhargav
638b05594a 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>
(cherry picked from commit 70ff940fd1)
2023-08-02 17:49:01 +00:00
Donatas Abraitis
7e2130bb03
Merge pull request #14128 from FRRouting/mergify/bp/stable/9.0/pr-14125
lib: Do not use time_t as a special Lua encoder/decoder (backport #14125)
2023-08-02 11:56:42 +03:00
Donatas Abraitis
85728c9c4f 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>
(cherry picked from commit 27dbf81a73)
2023-08-02 04:53:38 +00:00
Donald Sharp
728976960b
Merge pull request #14122 from FRRouting/mergify/bp/stable/9.0/pr-14121
debian: Add missing protobuf dependency (backport #14121)
2023-08-01 07:50:31 -04:00
Donatas Abraitis
6d97eedc03
Merge pull request #14123 from FRRouting/mergify/bp/stable/9.0/pr-14115
docker: Adjustments for Alpine 3.18 and buildx (backport #14115)
2023-08-01 13:38:36 +03:00
Donatas Abraitis
df9c77a638 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>
(cherry picked from commit 18becdc29e)
2023-08-01 04:53:38 +00:00
Donatas Abraitis
3d0dd4d7e3 docker: Use openssl instead of libressl
libressl is dropped from Alpine 3.18 for s390x.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit 617b450d01)
2023-08-01 04:53:37 +00:00
Martin Winter
c440467494 debian: Add missing protobuf dependency
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
(cherry picked from commit 62559e53ac)
2023-08-01 04:49:46 +00:00
Jafar Al-Gharaibeh
79fa05188a FRR Release 9.0
- Major Highlights:
-   Introduce `mgmtd` daemon
-   Add BGP `neighbor path-attribute treat-as-withdraw` command
-   Add BGP ASN dot notation support (RFC 5396)
-   Add BGP Software Version capability
-   Allow BGP peering via 127.0.0.0/8
-   Deprecate BGP `internet` community - this is the Cisco-specific community, which is never been RFC-defined and confusing
-   Implement `match source-protocol` for BGP route maps
-   Implement BGP Node Target extended communities (draft-ietf-idr-node-target-ext-comm)
-   Implement Flex-Algo for SR-MPLS (RFC 9350)
-   Add support for IS-IS `advertise-passive-only`
-   Add IS-IS `affinity-map` support
-   Add the `graceful-restart hello-delay` OSPFv2/OSPFv3 command
-   Add the `ipv6 mld join` PIMv6 command
-   Add `allow-ecmp x` RIP/RIPng Command
-   Add BFD support for RIP
- For a full list of new features and bug fixes, please refer to:
-   https://frrouting.org/release/

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
2023-07-26 00:07:52 -05:00
Donald Sharp
d888d73a8c
Merge pull request #14090 from FRRouting/mergify/bp/dev/9.0/pr-14079
bgpd: The last_reset_cause in the peer structure is too large (backport #14079)
2023-07-25 14:26:18 -04:00
Donald Sharp
5627d12200
Merge pull request #14091 from FRRouting/mergify/bp/dev/9.0/pr-14081
Bgp ringbuf cleanup (backport #14081)
2023-07-25 14:25:48 -04:00
Donald Sharp
91e95112e8 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>
(cherry picked from commit fe1c72a573)
2023-07-25 14:27:39 +00:00
Donald Sharp
e0d98cbb88 bgpd: With io limit allow parsing to continue even if memory is low
Commit: a0b937de42

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>
(cherry picked from commit 102bad0a9b)
2023-07-25 14:27:38 +00:00
Donald Sharp
575f68e73c 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>
(cherry picked from commit 73b66bed83)
2023-07-25 13:26:27 +00:00
Donatas Abraitis
98eab0e01d
Merge pull request #14077 from FRRouting/mergify/bp/dev/9.0/pr-14075
Remove unused memory allocations associated with bgp (backport #14075)
2023-07-22 10:29:42 +03:00
Donald Sharp
cb114f84a7 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>
(cherry picked from commit bdc1762405)
2023-07-21 20:15:19 +00:00
Donald Sharp
577f06b556 bgpd: Remove withdraw_low from system, it is never used
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 4215e8011b)
2023-07-21 20:15:19 +00:00
Donald Sharp
a0b9010536 bgpd: Remove peer->sync array
It is never used.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit c81d6d4d5f)
2023-07-21 20:15:18 +00:00
Donald Sharp
25f3e01dbb 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>
(cherry picked from commit acf4defcd8)
2023-07-21 20:15:17 +00:00
Donald Sharp
6368b579ba 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>
(cherry picked from commit b157af0ac1)
2023-07-21 20:15:17 +00:00
Donald Sharp
e9420ea75f
Merge pull request #14068 from opensourcerouting/fix/backport_libyang_to_9.0
Switch to libyang 2.1.80
2023-07-21 08:59:24 -04:00
Donatas Abraitis
997a31c577 docker: Use libyang 2.1.80 for Alpine builds
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-21 09:12:17 +03:00
Donatas Abraitis
31b91c9ba0 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>
2023-07-21 09:12:14 +03:00
Donatas Abraitis
6b59d69cb2 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>
2023-07-21 09:12:10 +03:00
Donatas Abraitis
61cac0a627 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>
2023-07-21 09:12:04 +03:00
Donatas Abraitis
b775e359bc docker: Use libyang 2.1.80
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-21 09:11:59 +03:00
Donatas Abraitis
8014544e2a redhat: Require libyang 2.1.80
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-21 09:11:53 +03:00
Donatas Abraitis
86f1ec3f25 debian: Require libyang 2.1.80
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-21 09:11:25 +03:00
Donatas Abraitis
d95d89c7af snapcraft: Use libyang 2.1.80
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2023-07-21 09:11:21 +03:00
Donald Sharp
e289d8bc56
Merge pull request #14063 from FRRouting/mergify/bp/dev/9.0/pr-14006
pim6d: Fixing core while running MLD conformance test. (backport #14006)
2023-07-20 12:38:44 -04:00
Abhishek N R
f80f594d1b pim6d: Fixing core while running MLD conformance test.
While running MLD conformance test 9.2 core is getting generated.

Test setps:
1. ANVL: Listen (for upto <GeneralQueryRecvWaitTime> seconds) on <AIface-0>.
2. DUT: Send MLD General Query Message.
3. ANVL: Send MLD Report Message to <DIface-0> containing:
• IPv6 Source Address field set to link-local IPv6 Address of HOST-1
• IPv6 Destination Address field set to <McastAddrGroup>
• MLD Multicast Address field set to <McastAddrGroup>.
4. ANVL: Wait for <ProcessTime> seconds for DUT to process and add <Mcas- tAddrGroup> to its Multicast Address list.
5. ANVL: Send MLD General Query Message to <DIface-0> containing:
• IPv6 Source Address field set to link-local IPv6 Address of RTR-1 which is numerically less than the link-local IPv6 unicast address of <DIface-0>
• IPv6 Destination Address field set to link-scope all-nodes multicast address.
6. ANVL: Send MLD Multicast-Address-Specific Query Message to <DIface-0> containing:
• IPv6 Source Address field set to link-local IPv6 Address of RTR-1
• IPv6 Destination Address field set to <McastAddrGroup>
• MLD Multicast Address field set to <McastAddrGroup>
• MLD Maximum Response Delay field value set to 0.
7. ANVL: Verify that the Maximum Response Delay timer for <McastAd- drGroup> is set to zero.

While running above test, when group specific query is received we start gm_t_sg_expire timer.
Once this timer expires, we clear the corresponding entry.
During this sg->state was still set to JOIN. This happened because receiver went down without sending leave.

Added a condition to update the sg->state before starting the timer.
If receiver goes down without sending leave we will update sg->state to GM_SG_JOIN_EXPIRING or GM_SG_NOPRUNE_EXPIRING based on previous state.
If we receive a join then sg->state will be refreshed and will be updated to JOIN state.

Fixes: #13387

Signed-off-by: Abhishek N R <abnr@vmware.com>
(cherry picked from commit e9484001ee)
2023-07-20 12:24:12 +00:00
Donatas Abraitis
c3ac75aaf4
Merge pull request #14047 from FRRouting/mergify/bp/dev/9.0/pr-13918
bgpd: fix bgp evpn cli memory leaks. (backport #13918)
2023-07-19 14:09:01 +03:00
Donald Sharp
5a734f6c01
Merge pull request #14045 from FRRouting/mergify/bp/dev/9.0/pr-14041
bgpd: Do not try to redistribute routes if we are shutting down (backport #14041)
2023-07-18 15:07:57 -04:00
Abhinay Ramesh
06729c106f bgpd: fix bgp evpn cli memory leaks.
problem:
In CLI config codeflow there are memory leaks in failure scenario

Fix:
Code changes are done to free ecommunity

Signed-off-by: Abhinay Ramesh <rabhinay@vmware.com>
(cherry picked from commit 56b895c172)
2023-07-18 16:00:29 +00:00
Donatas Abraitis
bd5775d164 bgpd: Do not try to redistribute routes if we are shutting down
When switching `router bgp`, `no router bgp` and doing redistributions, we should
ignore this action, otherwise memory leak happens:

```
Indirect leak of 400 byte(s) in 2 object(s) allocated from:
    0 0x7f81b36b3a06 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:153
    1 0x7f81b327bd2e in qcalloc lib/memory.c:105
    2 0x55f301d28628 in bgp_node_create bgpd/bgp_table.c:92
    3 0x7f81b3309d0b in route_node_new lib/table.c:52
    4 0x7f81b3309d0b in route_node_set lib/table.c:61
    5 0x7f81b330be0a in route_node_get lib/table.c:319
    6 0x55f301ce89df in bgp_redistribute_add bgpd/bgp_route.c:8907
    7 0x55f301dac182 in zebra_read_route bgpd/bgp_zebra.c:593
    8 0x7f81b334dcd7 in zclient_read lib/zclient.c:4179
    9 0x7f81b331d702 in event_call lib/event.c:1995
    10 0x7f81b325d597 in frr_run lib/libfrr.c:1213
    11 0x55f301b94b12 in main bgpd/bgp_main.c:505
    12 0x7f81b2b57082 in __libc_start_main ../csu/libc-start.c:308
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
(cherry picked from commit bddf5c13b2)
2023-07-18 14:56:08 +00:00
Donatas Abraitis
3265f1a67c
Merge pull request #14039 from FRRouting/mergify/bp/dev/9.0/pr-14033
Zebra same route (backport #14033)
2023-07-18 15:22:22 +03:00
Donald Sharp
4167ad76b8 zebra: Further handle route replace semantics
When an upper level protocol is installing a route X that needs to be
route replaced and at the same time the same or another protocol installs a
different route that depends on route X for nexthop resolution can leave
us with a state where the route is not accepted because zebra is still
really early in the route replace semantics ( route X is still on the work
Queue to be processed ) then the dependent route would not be installed.
This came up in the bgp_default_originate test cases frequently.

Further extendd the ROUTE_ENTR_ROUTE_REPLACING flag to cover this case
as well.  This has come up because the early route processing queueing
that was implemented late last year.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit af80201876)
2023-07-18 07:38:00 +00:00
Donald Sharp
6c0e919e07 tools: Add what FRR thinks as the fib routes for support_bundle
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 33b1b8a04c)
2023-07-18 07:38:00 +00:00
Donald Sharp
7ef5b1a562
Merge pull request #14035 from FRRouting/mergify/bp/dev/9.0/pr-14025
zebra: The command ipv6 nht xxx not work (backport #14025)
2023-07-17 19:50:51 -04:00
guozhongfeng
1873ee48df zebra: The command ipv6 nht xxx not work
If the command is ipv6 nht protocol route-map rmap, this parameter should use AFI_IP6

Signed-off-by: guozhongfeng <guozhongfeng.gzf@alibaba-inc.com>
(cherry picked from commit 1193611f8e)
2023-07-17 18:28:30 +00:00
Donald Sharp
561d72c4fd
Merge pull request #14031 from FRRouting/mergify/bp/dev/9.0/pr-14017
bgpd: Prevent use after free (backport #14017)
2023-07-17 14:27:13 -04:00
Donald Sharp
604816d503 bgpd: Prevent use after free
When running bgp_always_compare_med, I am frequently seeing a crash
After running with valgrind I am seeing this and a invalid write
immediately after this as well.

==311743== Invalid read of size 2
==311743==    at 0x4992421: route_map_counter_decrement (routemap.c:3308)
==311743==    by 0x35664D: peer_route_map_unset (bgpd.c:7259)
==311743==    by 0x306546: peer_route_map_unset_vty (bgp_vty.c:8037)
==311743==    by 0x3066AC: no_neighbor_route_map (bgp_vty.c:8081)
==311743==    by 0x49078DE: cmd_execute_command_real (command.c:990)
==311743==    by 0x4907A63: cmd_execute_command (command.c:1050)
==311743==    by 0x490801F: cmd_execute (command.c:1217)
==311743==    by 0x49C5535: vty_command (vty.c:551)
==311743==    by 0x49C7459: vty_execute (vty.c:1314)
==311743==    by 0x49C97D1: vtysh_read (vty.c:2223)
==311743==    by 0x49BE5E2: event_call (event.c:1995)
==311743==    by 0x494786C: frr_run (libfrr.c:1204)
==311743==    by 0x1F7655: main (bgp_main.c:505)
==311743==  Address 0x9ec2180 is 64 bytes inside a block of size 120 free'd
==311743==    at 0x484B27F: free (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==311743==    by 0x495A1BA: qfree (memory.c:130)
==311743==    by 0x498D412: route_map_free_map (routemap.c:748)
==311743==    by 0x498D176: route_map_add (routemap.c:672)
==311743==    by 0x498D79B: route_map_get (routemap.c:857)
==311743==    by 0x499C256: lib_route_map_create (routemap_northbound.c:102)
==311743==    by 0x49702D8: nb_callback_create (northbound.c:1234)
==311743==    by 0x497107F: nb_callback_configuration (northbound.c:1578)
==311743==    by 0x4971693: nb_transaction_process (northbound.c:1709)
==311743==    by 0x496FCF4: nb_candidate_commit_apply (northbound.c:1103)
==311743==    by 0x496FE4E: nb_candidate_commit (northbound.c:1136)
==311743==    by 0x497798F: nb_cli_classic_commit (northbound_cli.c:49)
==311743==    by 0x4977B4F: nb_cli_pending_commit_check (northbound_cli.c:88)
==311743==    by 0x49078C1: cmd_execute_command_real (command.c:987)
==311743==    by 0x4907B44: cmd_execute_command (command.c:1068)
==311743==    by 0x490801F: cmd_execute (command.c:1217)
==311743==    by 0x49C5535: vty_command (vty.c:551)
==311743==    by 0x49C7459: vty_execute (vty.c:1314)
==311743==    by 0x49C97D1: vtysh_read (vty.c:2223)
==311743==    by 0x49BE5E2: event_call (event.c:1995)
==311743==    by 0x494786C: frr_run (libfrr.c:1204)
==311743==    by 0x1F7655: main (bgp_main.c:505)
==311743==  Block was alloc'd at
==311743==    at 0x484DA83: calloc (in /usr/libexec/valgrind/vgpreload_memcheck-amd64-linux.so)
==311743==    by 0x495A068: qcalloc (memory.c:105)
==311743==    by 0x498D0C8: route_map_new (routemap.c:646)
==311743==    by 0x498D128: route_map_add (routemap.c:658)
==311743==    by 0x498D79B: route_map_get (routemap.c:857)
==311743==    by 0x499C256: lib_route_map_create (routemap_northbound.c:102)
==311743==    by 0x49702D8: nb_callback_create (northbound.c:1234)
==311743==    by 0x497107F: nb_callback_configuration (northbound.c:1578)
==311743==    by 0x4971693: nb_transaction_process (northbound.c:1709)
==311743==    by 0x496FCF4: nb_candidate_commit_apply (northbound.c:1103)
==311743==    by 0x496FE4E: nb_candidate_commit (northbound.c:1136)
==311743==    by 0x497798F: nb_cli_classic_commit (northbound_cli.c:49)
==311743==    by 0x4977B4F: nb_cli_pending_commit_check (northbound_cli.c:88)
==311743==    by 0x49078C1: cmd_execute_command_real (command.c:987)
==311743==    by 0x4907B44: cmd_execute_command (command.c:1068)
==311743==    by 0x490801F: cmd_execute (command.c:1217)
==311743==    by 0x49C5535: vty_command (vty.c:551)
==311743==    by 0x49C7459: vty_execute (vty.c:1314)
==311743==    by 0x49C97D1: vtysh_read (vty.c:2223)
==311743==    by 0x49BE5E2: event_call (event.c:1995)
==311743==    by 0x494786C: frr_run (libfrr.c:1204)

Effectively the route_map that is being stored has been freed already
but we have not cleaned up properly yet.  Go through and clean the
code up by ensuring that the pointer actually exists instead of trusting
it does when doing the decrement operation.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
(cherry picked from commit 2ba2c284ba)
2023-07-17 12:13:32 +00:00
Jafar Al-Gharaibeh
906452c90e
Merge pull request #14022 from FRRouting/mergify/bp/dev/9.0/pr-14019
fix double lock bug and cmd resume early bugs (backport #14019)
2023-07-16 23:52:20 -05:00
Christian Hopps
318e060cc0 tests: add regression test for issue $13920
Signed-off-by: Christian Hopps <chopps@labn.net>
2023-07-16 13:18:37 -04:00
Christian Hopps
59b69ae1f8 vtysh: track and fix file-lock use in the workaround from 2004
There's a workaround in the code from a bug from back in 2004, it ends
and re-enters config mode anytime an `exit` is done from a level below
the top-level config node (e.g., from a `router isis` node). We need to
re-enter config mode with or without a lock according to how we actually
entered it to begin with.

fixes #13920

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-07-16 13:18:37 -04:00
Christian Hopps
28c145ebd2 lib: mgmtd: only clear pending for the in-progress command
The lock/unlocks are being done short-circuit so they are never pending;
however, the handling of the unlock notification was always resuming the command
if pending was set. In all cases pending is set for another command. For example
implicit commit locks then when notified its done unlocks which was clearing the
set-config pending flag and resuming that command incorrectly.

Signed-off-by: Christian Hopps <chopps@labn.net>
2023-07-16 13:18:37 -04:00
Jafar Al-Gharaibeh
71b0e94261
Merge pull request #13887 from FRRouting/mergify/bp/dev/9.0/pr-13866
Changes for inclusive language and other cleanup (backport #13866)
2023-07-16 10:37:20 -05:00
Donatas Abraitis
fd9801fced
Merge pull request #14014 from FRRouting/mergify/bp/dev/9.0/pr-13993
lib: fix on-match when added to existing route-map entry (backport #13993)
2023-07-16 17:20:47 +03:00