]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
7 months agoospfd: Interface 'ip ospf neighbor-filter' startup config not applied. 16886/head
Acee Lindem [Fri, 20 Sep 2024 20:33:43 +0000 (20:33 +0000)]
ospfd: Interface 'ip ospf neighbor-filter' startup config not applied.

When 'ip ospf neighbor-filter <filter-name>' is configured in the startup
configuration, it is in the running configuration but not applied on the
interface.

Signed-off-by: Acee Lindem <acee@lindem.com>
7 months agoMerge pull request #16881 from donaldsharp/zebra_nhg_install_fix
Jafar Al-Gharaibeh [Fri, 20 Sep 2024 19:29:20 +0000 (14:29 -0500)]
Merge pull request #16881 from donaldsharp/zebra_nhg_install_fix

zebra: Pass in ZEBRA_ROUTE_MAX instead of true

7 months agozebra: Pass in ZEBRA_ROUTE_MAX instead of true 16881/head
Donald Sharp [Fri, 20 Sep 2024 14:58:46 +0000 (10:58 -0400)]
zebra: Pass in ZEBRA_ROUTE_MAX instead of true

zebra_nhg_install_kernel takes a route type.  We don't
know it at that particular spot but we should not be passing
in `true`.  Let's use ZEBRA_ROUTE_MAX to indicate we do not
know, so that the correct thing is done.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
7 months agoMerge pull request #16876 from opensourcerouting/fix/ZEBRA_SEG6_LOCAL_ACTION_END_DX6_...
Donald Sharp [Fri, 20 Sep 2024 13:40:04 +0000 (09:40 -0400)]
Merge pull request #16876 from opensourcerouting/fix/ZEBRA_SEG6_LOCAL_ACTION_END_DX6_should_put_full_inaddr6

zebra: Send a correct size of ctx->nh6 for SRv6 SEG6_LOCAL_ACTION_END_DX6

7 months agoMerge pull request #16874 from enkechen-panw/redist-fix
Donald Sharp [Fri, 20 Sep 2024 02:16:20 +0000 (22:16 -0400)]
Merge pull request #16874 from enkechen-panw/redist-fix

bgpd: fix misplaced arguments in bgp_redistribute_add()

7 months agoMerge pull request #16875 from opensourcerouting/fix/deprecate_json
Donald Sharp [Fri, 20 Sep 2024 02:15:14 +0000 (22:15 -0400)]
Merge pull request #16875 from opensourcerouting/fix/deprecate_json

isisd: Remove deprecated JSON fields

7 months agozebra: Send a correct size of ctx->nh6 for SRv6 SEG6_LOCAL_ACTION_END_DX6 16876/head
Donatas Abraitis [Thu, 19 Sep 2024 20:54:43 +0000 (23:54 +0300)]
zebra: Send a correct size of ctx->nh6 for SRv6 SEG6_LOCAL_ACTION_END_DX6

Fixes: f6e58d26f638d0bcdc34dfc5890669036a0129df ("zebra, sharpd: add srv6 End.DX6 support")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
7 months agoisisd: Remove deprecated JSON fields 16875/head
Donatas Abraitis [Thu, 19 Sep 2024 20:44:25 +0000 (23:44 +0300)]
isisd: Remove deprecated JSON fields

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
7 months agoMerge pull request #16738 from odivlad/fix-stdout-fork
Donatas Abraitis [Thu, 19 Sep 2024 20:24:19 +0000 (22:24 +0200)]
Merge pull request #16738 from odivlad/fix-stdout-fork

lib: Attach stdout to child only if --log=stdout and stdout FD is a tty

7 months agoMerge pull request #16782 from pguibert6WIND/fix_nexthop_set_failed_message
Donatas Abraitis [Thu, 19 Sep 2024 20:23:37 +0000 (22:23 +0200)]
Merge pull request #16782 from pguibert6WIND/fix_nexthop_set_failed_message

bgpd: fix 'nexthop_set failed' error message often displayed

7 months agoMerge pull request #16872 from donaldsharp/remove_nl_addraw_l
Donatas Abraitis [Thu, 19 Sep 2024 19:19:02 +0000 (21:19 +0200)]
Merge pull request #16872 from donaldsharp/remove_nl_addraw_l

zebra: Remove nl_addraw_l

7 months agotests: adjust topotest after bgp_redistribute_add() fix 16874/head
Enke Chen [Thu, 19 Sep 2024 18:52:12 +0000 (11:52 -0700)]
tests: adjust topotest after bgp_redistribute_add() fix

In ospf_multi_vrf_bgp_route_leak, the admin distance for the
redistributed ospf route should be 110, and should remain as 110 after
it's imported into another vrf, and then downloaded to zebra.

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
7 months agobgpd: fix misplaced arguments in bgp_redistribute_add()
Enke Chen [Thu, 19 Sep 2024 15:52:35 +0000 (08:52 -0700)]
bgpd: fix misplaced arguments in bgp_redistribute_add()

Fix the misplaced arguments "bhtype" and "api.distance" in
bgp_redistribute_add().

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
7 months agozebra: Remove nl_addraw_l 16872/head
Donald Sharp [Thu, 19 Sep 2024 12:28:48 +0000 (08:28 -0400)]
zebra: Remove nl_addraw_l

This function is never used.  So let's remove it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
7 months agoMerge pull request #16848 from enkechen-panw/ecomm-val
Donatas Abraitis [Thu, 19 Sep 2024 09:33:58 +0000 (11:33 +0200)]
Merge pull request #16848 from enkechen-panw/ecomm-val

bgpd: define val in ecommunity_val as uint8_t

7 months agoMerge pull request #16868 from sri-mohan1/srib-24-frr-a
Donatas Abraitis [Thu, 19 Sep 2024 09:33:36 +0000 (11:33 +0200)]
Merge pull request #16868 from sri-mohan1/srib-24-frr-a

bgpd: changes for code maintainability

7 months agobgpd: changes for code maintainability 16868/head
sri-mohan1 [Thu, 19 Sep 2024 03:45:14 +0000 (09:15 +0530)]
bgpd: changes for code maintainability

these changes are for improving the code maintainability and readability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
7 months agoMerge pull request #16860 from LabNConsulting/aceelindem/ospf-sr-algo-vulnerability
Jafar Al-Gharaibeh [Wed, 18 Sep 2024 23:55:47 +0000 (18:55 -0500)]
Merge pull request #16860 from LabNConsulting/aceelindem/ospf-sr-algo-vulnerability

ospfd: Fix heap corruption vulnerability when parsing SR-Algorithm TLV

7 months agobgpd: define val in ecommunity_val as uint8_t 16848/head
Enke Chen [Wed, 18 Sep 2024 19:28:03 +0000 (12:28 -0700)]
bgpd: define val in ecommunity_val as uint8_t

The type of the val field in ecommunity_val is used inconsistently
in a number of places. It should be defined as uint8_t.

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
7 months agoMerge pull request #16857 from donaldsharp/logger_warning
Mark Stapp [Wed, 18 Sep 2024 18:52:41 +0000 (14:52 -0400)]
Merge pull request #16857 from donaldsharp/logger_warning

tests: use logger.warning not logger.warn

7 months agoospfd: Fix heap corruption vulnerability when parsing SR-Algorithm TLV 16860/head
Acee Lindem [Wed, 18 Sep 2024 18:09:19 +0000 (18:09 +0000)]
ospfd: Fix heap corruption vulnerability when parsing SR-Algorithm TLV

When parsing the SR-Algorithm TLV in the OSPF Router Information Opaque
LSA, assure that not more than the maximum number of supported
algorithms are copied from the TLV.

Signed-off-by: Acee Lindem <acee@lindem.com>
7 months agoMerge pull request #16846 from donaldsharp/zebra_evpn_mac_cleanup
Jafar Al-Gharaibeh [Wed, 18 Sep 2024 18:04:01 +0000 (13:04 -0500)]
Merge pull request #16846 from donaldsharp/zebra_evpn_mac_cleanup

Zebra evpn mac cleanup

7 months agoMerge pull request #16856 from donaldsharp/ospf_vrf_debugs
Jafar Al-Gharaibeh [Wed, 18 Sep 2024 16:26:50 +0000 (11:26 -0500)]
Merge pull request #16856 from donaldsharp/ospf_vrf_debugs

ospfd: Add vrf name to debug functions in ospf_zebra.c

7 months agoMerge pull request #16841 from mjstapp/fix_bgp_script
Donald Sharp [Wed, 18 Sep 2024 16:00:06 +0000 (12:00 -0400)]
Merge pull request #16841 from mjstapp/fix_bgp_script

bgpd: remove bgpd.h from bgp script header

7 months agoMerge pull request #16816 from opensourcerouting/feature/bgp_dual_as
Donald Sharp [Wed, 18 Sep 2024 15:59:16 +0000 (11:59 -0400)]
Merge pull request #16816 from opensourcerouting/feature/bgp_dual_as

bgpd: Implement BGP dual-as feature

7 months agotests: use logger.warning not logger.warn 16857/head
Donald Sharp [Wed, 18 Sep 2024 15:55:45 +0000 (11:55 -0400)]
tests: use logger.warning not logger.warn

Apparently logger.warn is being deprecated.  So let's
switch over to logger.warning.  Clearly it's better

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
7 months agoMerge pull request #16720 from opensourcerouting/fix/default_originate_not_needed_if_...
Russ White [Wed, 18 Sep 2024 14:11:23 +0000 (10:11 -0400)]
Merge pull request #16720 from opensourcerouting/fix/default_originate_not_needed_if_not_enabled

bgpd: Do not scan update-groups if default-originate timer is set to 0

7 months agoospfd: Add vrf name to debug functions in ospf_zebra.c 16856/head
Donald Sharp [Wed, 18 Sep 2024 13:52:49 +0000 (09:52 -0400)]
ospfd: Add vrf name to debug functions in ospf_zebra.c

This file had a bunch of debugs that were operating on
specific vrf's but not telling you which vrf this was
happening in.  Add code to allow operator debugging
to understand what vrf is being worked on.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
7 months agozebra: In zebra_evpn_mac.c remove bad comments 16846/head
Donald Sharp [Mon, 16 Sep 2024 13:56:58 +0000 (09:56 -0400)]
zebra: In zebra_evpn_mac.c remove bad comments

Adding comments that tell what a variable is doing in
the middle of a function call makes it extremely hard
to read the formatting.  Remove.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
7 months agozebra: Reindent some badly formatted functions in zebra_evpn_mac.c
Donald Sharp [Tue, 10 Sep 2024 19:11:11 +0000 (15:11 -0400)]
zebra: Reindent some badly formatted functions in zebra_evpn_mac.c

Fix some badly formatted code to fit better on the screen.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
7 months agozebra: Reframe zebra_evpn_mac.c to be properly formatted
Donald Sharp [Tue, 10 Sep 2024 18:57:21 +0000 (14:57 -0400)]
zebra: Reframe zebra_evpn_mac.c to be properly formatted

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
7 months agoMerge pull request #16849 from opensourcerouting/fix/remove_rpki_cmd
Donald Sharp [Wed, 18 Sep 2024 11:27:18 +0000 (07:27 -0400)]
Merge pull request #16849 from opensourcerouting/fix/remove_rpki_cmd

bgpd: Remove deprecated RPKI command

7 months agoMerge pull request #16840 from LabNConsulting/chopps/yang-lib
Donald Sharp [Wed, 18 Sep 2024 11:25:20 +0000 (07:25 -0400)]
Merge pull request #16840 from LabNConsulting/chopps/yang-lib

add ietf-yang-library support

7 months agoMerge pull request #16852 from sri-mohan1/srib-24-frr-a
Donald Sharp [Wed, 18 Sep 2024 11:23:56 +0000 (07:23 -0400)]
Merge pull request #16852 from sri-mohan1/srib-24-frr-a

bgpd: changes for code maintainability

7 months agoMerge pull request #16850 from enkechen-panw/show-stat
Donatas Abraitis [Wed, 18 Sep 2024 06:57:03 +0000 (08:57 +0200)]
Merge pull request #16850 from enkechen-panw/show-stat

bgpd: add counters for redistributed and aggregated routes

7 months agobgpd: changes for code maintainability 16852/head
sri-mohan1 [Wed, 18 Sep 2024 05:52:08 +0000 (11:22 +0530)]
bgpd: changes for code maintainability

these changes are for improving the code maintainability and readability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
7 months agotests: add test for new ietf-yang-library support 16840/head
Christian Hopps [Tue, 17 Sep 2024 07:54:26 +0000 (03:54 -0400)]
tests: add test for new ietf-yang-library support

Signed-off-by: Christian Hopps <chopps@labn.net>
7 months agomgmtd: add ietf-yang-library support
Christian Hopps [Tue, 17 Sep 2024 01:34:10 +0000 (21:34 -0400)]
mgmtd: add ietf-yang-library support

Signed-off-by: Christian Hopps <chopps@labn.net>
7 months agobgpd: add counters for redistributed and aggregated routes 16850/head
Enke Chen [Tue, 17 Sep 2024 22:12:05 +0000 (15:12 -0700)]
bgpd: add counters for redistributed and aggregated routes

Add counters for redistributed routes, and local aggregates to the
output of "show ip bgp statistics".

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
7 months agobgpd: Remove deprecated RPKI command 16849/head
Donatas Abraitis [Tue, 17 Sep 2024 20:04:30 +0000 (23:04 +0300)]
bgpd: Remove deprecated RPKI command

`rpki cache <A.B.C.D|WORD> ...`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
7 months agoMerge pull request #16774 from donaldsharp/bgp_give_some_ordering_increases
Russ White [Tue, 17 Sep 2024 15:01:34 +0000 (11:01 -0400)]
Merge pull request #16774 from donaldsharp/bgp_give_some_ordering_increases

Bgp give some ordering increases

7 months agoMerge pull request #16809 from louis-6wind/fix-rcap-double-free
Donald Sharp [Tue, 17 Sep 2024 12:33:43 +0000 (08:33 -0400)]
Merge pull request #16809 from louis-6wind/fix-rcap-double-free

isisd: fix rcap tlv double-free crash

7 months agoMerge pull request #16839 from LabNConsulting/chopps/edit-reply
Donald Sharp [Tue, 17 Sep 2024 12:30:35 +0000 (08:30 -0400)]
Merge pull request #16839 from LabNConsulting/chopps/edit-reply

Add `created` and `changed` booleans to `edit-reply` message

7 months agobgpd: remove bgpd.h from bgp script header 16841/head
Mark Stapp [Tue, 17 Sep 2024 12:26:04 +0000 (08:26 -0400)]
bgpd: remove bgpd.h from bgp script header

Use forward references instead of including the main bgpd.h
header in the bgp scripting header to reduce external impact
of changes.

Signed-off-by: Mark Stapp <mjs@cisco.com>
7 months agolib: mgmtd: add `changed` and `created` to edit-reply msg 16839/head
Christian Hopps [Tue, 17 Sep 2024 06:27:31 +0000 (02:27 -0400)]
lib: mgmtd: add `changed` and `created` to edit-reply msg

- This is used for various return values in RESTCONF

Signed-off-by: Christian Hopps <chopps@labn.net>
7 months agolib: mgmtd: cleanup error value for native messaging
Christian Hopps [Tue, 17 Sep 2024 06:27:03 +0000 (02:27 -0400)]
lib: mgmtd: cleanup error value for native messaging

- Now if positive it's libyang LY_ERR, otherwise it's `-errno` value.

Signed-off-by: Christian Hopps <chopps@labn.net>
7 months agomgmtd: allow dest DS "running" if implicit lock+commit
Christian Hopps [Sat, 14 Sep 2024 10:52:43 +0000 (06:52 -0400)]
mgmtd: allow dest DS "running" if implicit lock+commit

Signed-off-by: Christian Hopps <chopps@labn.net>
7 months agolib: constify yang_resolve_snode_xpath results
Christian Hopps [Sat, 27 Jul 2024 05:07:57 +0000 (01:07 -0400)]
lib: constify yang_resolve_snode_xpath results

Signed-off-by: Christian Hopps <chopps@labn.net>
ang

7 months agoMerge pull request #16828 from enkechen-panw/print-rnh
Donald Sharp [Mon, 16 Sep 2024 13:30:53 +0000 (09:30 -0400)]
Merge pull request #16828 from enkechen-panw/print-rnh

zebra: include the prefix in nht show command

7 months agotests: update isisd fuzz test 16809/head
Louis Scalbert [Mon, 16 Sep 2024 11:43:26 +0000 (13:43 +0200)]
tests: update isisd fuzz test

Since the previous commit, if a router capability subTLV is not
readable, the previously read subTLVs are kept.

Update of the ISIS fuzz test.

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

> $ ./test_fuzz_isis_tlv 2>/dev/null | grep failed
> Test 139 failed, output differs.
> Test 150 failed, output differs.
> 2 of 405 tests failed.
>
> $ ./test_fuzz_isis_tlv 139 2>/dev/null
> Test 139 failed, output differs.
> Expected output:
> Unpack log:
> Unpacking 564 bytes of TLVs...
>   Unpacking TLV...
>     Found TLV of type 193 and len 13.
>     Skipping unknown TLV 193 (13 bytes)
>   Unpacking TLV...
>     Found TLV of type 0 and len 0.
>     Skipping unknown TLV 0 (0 bytes)
>   Unpacking TLV...
>     Found TLV of type 0 and len 0.
>     Skipping unknown TLV 0 (0 bytes)
>   Unpacking TLV...
>     Found TLV of type 242 and len 12.
>     Unpacking Router Capability TLV...
>     WARNING: Router Capability subTLV length too large compared to expected size
> Unpacked TLVs:
> Received output:
> Unpack log:
> Unpacking 564 bytes of TLVs...
>   Unpacking TLV...
>     Found TLV of type 193 and len 13.
>     Skipping unknown TLV 193 (13 bytes)
>   Unpacking TLV...
>     Found TLV of type 0 and len 0.
>     Skipping unknown TLV 0 (0 bytes)
>   Unpacking TLV...
>     Found TLV of type 0 and len 0.
>     Skipping unknown TLV 0 (0 bytes)
>   Unpacking TLV...
>     Found TLV of type 242 and len 12.
>     Unpacking Router Capability TLV...
>     WARNING: Router Capability subTLV length too large compared to expected size
> Unpacked TLVs:
> Router Capability: 253.212.128.242 , D:1, S:1
>
> $ ./test_fuzz_isis_tlv 150 2>/dev/null
> Test 150 failed, output differs.
> Expected output:
> Unpack log:
> Unpacking 403 bytes of TLVs...
>   Unpacking TLV...
>     Found TLV of type 129 and len 13.
>     Unpacking Protocols Supported TLV...
>       Protocols Supported: 73, 16, 255, 255, 255, 101, 10, 11, 11, 11, 11, 11, 11
>   Unpacking TLV...
>     Found TLV of type 11 and len 11.
>     Skipping unknown TLV 11 (11 bytes)
>   Unpacking TLV...
>     Found TLV of type 242 and len 12.
>     Unpacking Router Capability TLV...
>     WARNING: Router Capability subTLV length too large compared to expected size
> Unpacked TLVs:
> Protocols Supported: 73, 16, 255, 255, 255, 101, 10, 11, 11, 11, 11, 11, 11
> Received output:
> Unpack log:
> Unpacking 403 bytes of TLVs...
>   Unpacking TLV...
>     Found TLV of type 129 and len 13.
>     Unpacking Protocols Supported TLV...
>       Protocols Supported: 73, 16, 255, 255, 255, 101, 10, 11, 11, 11, 11, 11, 11
>   Unpacking TLV...
>     Found TLV of type 11 and len 11.
>     Skipping unknown TLV 11 (11 bytes)
>   Unpacking TLV...
>     Found TLV of type 242 and len 12.
>     Unpacking Router Capability TLV...
>     WARNING: Router Capability subTLV length too large compared to expected size
> Unpacked TLVs:
> Protocols Supported: 73, 16, 255, 255, 255, 101, 10, 11, 11, 11, 11, 11, 11
> Router Capability: 253.212.128.242 , D:1, S:1

Link: https://pypi.org/project/wuschl/
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
7 months agoisisd: fix rcap tlv double-free crash
Louis Scalbert [Thu, 12 Sep 2024 07:31:49 +0000 (09:31 +0200)]
isisd: fix rcap tlv double-free crash

A double-free crash happens when a subTLV of the "Router Capability"
TLV is not readable and a previous "Router Capability" TLV was read.

rcap was supposed to be freed later by isis_free_tlvs() ->
free_tlv_router_cap(). In 78774bbcd5 ("isisd: add isis flex-algo lsp
advertisement"), this was not the case because rcap was not saved to
tlvs->router_cap when the function returned early because of a subTLV
length issue.

Always set tlvs->router_cap to free the memory.

Note that this patch has the consequence that in case of subTLV error,
the previously read "Router Capability" subTLVs are kept in memory.

Fixes: 49efc80d34 ("isisd: Ensure rcap is freed in error case")
Fixes: 78774bbcd5 ("isisd: add isis flex-algo lsp advertisement")
Reported-by: Iggy Frankovic <iggyfran@amazon.com>
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
7 months agoMerge pull request #16835 from cscarpitta/add-sid-structure-to-seg6local-nh
Donatas Abraitis [Mon, 16 Sep 2024 07:25:56 +0000 (10:25 +0300)]
Merge pull request #16835 from cscarpitta/add-sid-structure-to-seg6local-nh

bgpd, lib: Include SID structure in seg6local nexthop

7 months agobgpd: Include structure when removing End.DT46 SID 16835/head
Carmine Scarpitta [Sun, 15 Sep 2024 16:56:48 +0000 (18:56 +0200)]
bgpd: Include structure when removing End.DT46 SID

Include SID structure information when removing an SRv6 End.DT46 SID
from the forwarding plane.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
7 months agobgpd: Include structure when removing End.DT4/6 SID
Carmine Scarpitta [Sun, 15 Sep 2024 16:56:21 +0000 (18:56 +0200)]
bgpd: Include structure when removing End.DT4/6 SID

Include SID structure information when removing an SRv6 End.DT4 or End.DT6 SID
from the forwarding plane.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
7 months agobgpd: Include structure when installing End.DT46 SID
Carmine Scarpitta [Sun, 15 Sep 2024 16:54:55 +0000 (18:54 +0200)]
bgpd: Include structure when installing End.DT46 SID

Include SID structure information when installing an SRv6 End.DT46 SID
in the forwarding plane.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
7 months agobgpd: Include structure when installing End.DT4/6 SID
Carmine Scarpitta [Sun, 15 Sep 2024 16:53:35 +0000 (18:53 +0200)]
bgpd: Include structure when installing End.DT4/6 SID

Include SID structure information when installing an SRv6 End.DT6 or End.DT4 SID
in the forwarding plane.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
7 months agolib: Include SID structure in seg6local nexthop
Carmine Scarpitta [Sun, 15 Sep 2024 15:23:34 +0000 (17:23 +0200)]
lib: Include SID structure in seg6local nexthop

Include SID structure information in seg6local nexthop data structure.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
7 months agozebra: include the prefix in nht show command 16828/head
Enke Chen [Sun, 15 Sep 2024 06:47:00 +0000 (23:47 -0700)]
zebra: include the prefix in nht show command

Include the prefix in "show ip nht" and "show ipv6 nht".

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
7 months agoMerge pull request #16827 from LabNConsulting/chopps/fix-on-error-with-xdist
Jafar Al-Gharaibeh [Sat, 14 Sep 2024 22:36:42 +0000 (17:36 -0500)]
Merge pull request #16827 from LabNConsulting/chopps/fix-on-error-with-xdist

improvements for xdist mode

7 months agoMerge pull request #16829 from Jafaral/vty-json
Donald Sharp [Sat, 14 Sep 2024 15:30:13 +0000 (11:30 -0400)]
Merge pull request #16829 from Jafaral/vty-json

pimd: use vty_json

7 months agotests: fix spawning shells/vtysh on error in xdist mode 16827/head
Christian Hopps [Fri, 13 Sep 2024 23:27:38 +0000 (19:27 -0400)]
tests: fix spawning shells/vtysh on error in xdist mode

- Also fix the above and CLI when running in munet native mode

Signed-off-by: Christian Hopps <chopps@labn.net>
7 months agotests: update munet 0.14.14, 0.14.15
Christian Hopps [Sat, 14 Sep 2024 03:32:47 +0000 (23:32 -0400)]
tests: update munet 0.14.14, 0.14.15

- improvement to remote CLI
- 0.14.15 fixed a small bug in 0.14.14

Signed-off-by: Christian Hopps <chopps@labn.net>
7 months agopimd: use vty_json 16829/head
Jafar Al-Gharaibeh [Sat, 14 Sep 2024 04:32:56 +0000 (23:32 -0500)]
pimd: use vty_json

Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
7 months agotests: update munet 0.14.13
Christian Hopps [Sat, 14 Sep 2024 00:04:13 +0000 (20:04 -0400)]
tests: update munet 0.14.13

- Improve remote CLI operation [improves xdist mode]

Signed-off-by: Christian Hopps <chopps@labn.net>
7 months agotests: update munet 0.14.12
Christian Hopps [Fri, 13 Sep 2024 22:12:36 +0000 (18:12 -0400)]
tests: update munet 0.14.12

- Adds retry_sleep (i.e., interval) parameter to native @retry decorator
- Fix --stdout and --stderr munet CLI args

Signed-off-by: Christian Hopps <chopps@labn.net>
7 months agoMerge pull request #16438 from Jafaral/pim-10.1-cand-rp
Donald Sharp [Fri, 13 Sep 2024 23:45:57 +0000 (19:45 -0400)]
Merge pull request #16438 from Jafaral/pim-10.1-cand-rp

PIM candidate BSR/RP support

7 months agoMerge pull request #16818 from ak503/ospf_gr
Jafar Al-Gharaibeh [Fri, 13 Sep 2024 15:57:56 +0000 (11:57 -0400)]
Merge pull request #16818 from ak503/ospf_gr

ospfd: missing '[no]ip ospf graceful-restart hello-delay <N>' commands

7 months agoMerge pull request #16815 from opensourcerouting/fix/adjust_wait_count_default_timers...
Donald Sharp [Fri, 13 Sep 2024 15:27:19 +0000 (11:27 -0400)]
Merge pull request #16815 from opensourcerouting/fix/adjust_wait_count_default_timers_if_too_low

tests: Adjust minimum wait/count timers for run_and_expect() if they are too low

7 months agoMerge pull request #16808 from garyachy/nhrp_duplicate_authentication_extension_field
Jafar Al-Gharaibeh [Fri, 13 Sep 2024 14:50:40 +0000 (10:50 -0400)]
Merge pull request #16808 from garyachy/nhrp_duplicate_authentication_extension_field

nhrpd: fixes duplicate auth extension

7 months agoospfd: fix missing '[no]ip ospf graceful-restart hello-delay <N>' commands 16818/head
Dmitrii Turlupov [Fri, 13 Sep 2024 13:22:18 +0000 (16:22 +0300)]
ospfd: fix missing '[no]ip ospf graceful-restart hello-delay <N>' commands

Signed-off-by: Dmitrii Turlupov <turlupov@bk.ru>
7 months agotests: Test `neighbor X no-prepend replace-as dual-as` 16816/head
Donatas Abraitis [Fri, 13 Sep 2024 08:28:09 +0000 (11:28 +0300)]
tests: Test `neighbor X no-prepend replace-as dual-as`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
7 months agodoc: Document `neighbox X local-as Y replace-as no-prepend dual-as`
Donatas Abraitis [Fri, 13 Sep 2024 07:59:30 +0000 (10:59 +0300)]
doc: Document `neighbox X local-as Y replace-as no-prepend dual-as`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
7 months agobgpd: Implement BGP dual-as feature
Donatas Abraitis [Fri, 13 Sep 2024 07:51:41 +0000 (10:51 +0300)]
bgpd: Implement BGP dual-as feature

This is helpful for migrations, etc.

The neighbor is configured with:

```
router bgp 65000
 neighbor X local-as 65001 no-prepend replace-as dual-as
```

Neighbor X can use either 65000, or 65001 to peer with.

Closes: https://github.com/FRRouting/frr/issues/13928
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
7 months agotests: Adjust minimum wait/count timers for run_and_expect() if they are too low 16815/head
Donatas Abraitis [Fri, 13 Sep 2024 07:23:51 +0000 (10:23 +0300)]
tests: Adjust minimum wait/count timers for run_and_expect() if they are too low

If the developer pass way too low timers, we end up with most likely false-positive
situations for random tests under a high load of the system.

It would be better to fallback to the minimum default values for such a cases.

E.g.:

```
WARNING: topo: Waiting time is too small (count=1, wait=0.5), using default values (count=20, wait=3)
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
7 months agoMerge pull request #16779 from louis-6wind/fix-as-path-exclude
Donatas Abraitis [Fri, 13 Sep 2024 06:38:15 +0000 (09:38 +0300)]
Merge pull request #16779 from louis-6wind/fix-as-path-exclude

bgpd: fix as-path exclude modify crash

7 months agoMerge pull request #16792 from sri-mohan1/srib-24-frr-a
Donatas Abraitis [Fri, 13 Sep 2024 06:00:31 +0000 (09:00 +0300)]
Merge pull request #16792 from sri-mohan1/srib-24-frr-a

bgpd: changes for code maintainability

7 months agoMerge pull request #16799 from LabNConsulting/aceelindem/ospf-delay-reflooding-ack-fix
Donald Sharp [Thu, 12 Sep 2024 20:17:30 +0000 (16:17 -0400)]
Merge pull request #16799 from LabNConsulting/aceelindem/ospf-delay-reflooding-ack-fix

ospfd: An OSPF Ack should be sent when P2MP reflooding is delayed

7 months agoospfd: An OSPF Ack should be sent when P2MP reflooding is delayed. 16799/head
Acee Lindem [Wed, 11 Sep 2024 16:41:41 +0000 (16:41 +0000)]
ospfd: An OSPF Ack should be sent when P2MP reflooding is delayed.

When "ip ospf network point-to-multipoint delayed-reflooding" is configured,
LSAs received on an OSPF P2MP network are not reflooded. Since LSA reflooding
would normally serve as an implied LSA acknowledgment, an explicit OSPF ack
should be sent to avoid retransmission by the neighbor which orginally flooded
the LSA on the P2MP network.

Signed-off-by: Acee Lindem <acee@lindem.com>
7 months ago bgpd: fix 'nexthop_set failed' error message often displayed 16782/head
Philippe Guibert [Thu, 12 Sep 2024 14:11:52 +0000 (16:11 +0200)]
 bgpd: fix 'nexthop_set failed' error message often displayed

The 'nexthop_set failed, resetting connection - intf' log message
is often seen when peering with BGP peers. This message has been
displayed by introducing a recent fix that extracts the IP/port
information of outgoing connections when peering is not yet
established.

Fix this by separating the update of the socket information from
the call to bgp_zebra_nexthop_set().

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
7 months agoMerge pull request #16807 from louis-6wind/fix-isis_lsp_bits_topo1-race
Mark Stapp [Thu, 12 Sep 2024 13:46:42 +0000 (09:46 -0400)]
Merge pull request #16807 from louis-6wind/fix-isis_lsp_bits_topo1-race

tests: fix isis_lsp_bits_topo1 race condition

7 months agoMerge pull request #16810 from anlancs/fix/pimd-interface-crash-commands
Donald Sharp [Thu, 12 Sep 2024 12:19:11 +0000 (08:19 -0400)]
Merge pull request #16810 from anlancs/fix/pimd-interface-crash-commands

pimd: fix crash for two commands

7 months agopimd: fix crash for two commands 16810/head
anlan_cs [Thu, 12 Sep 2024 09:10:04 +0000 (17:10 +0800)]
pimd: fix crash for two commands

Need "pim-enable" the interface for the two commands, otherwise it will crash.

```
PIM: lib_interface_pim_address_family_bsm_modify+0x68     561aa37a406c     7ffcc7b4cbd0 /usr/lib/frr/pimd (mapped at 0x561aa3726000)
PIM: nb_callback_modify+0xdc            7f6200961aac     7ffcc7b4cc00 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: nb_callback_configuration+0x14e     7f6200962740     7ffcc7b4cc90 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: nb_transaction_process+0x68        7f6200962c79     7ffcc7b4d120 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: nb_candidate_commit_apply+0x36     7f620096144f     7ffcc7b4d170 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: nb_candidate_commit+0x96           7f6200961585     7ffcc7b4d1b0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: nb_cli_classic_commit+0x9e         7f6200967c4f     7ffcc7b4d200 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: nb_cli_apply_changes_internal+0x1fd     7f62009681ef     7ffcc7b4f250 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: nb_cli_apply_changes+0x2a9         7f6200968554     7ffcc7b51290 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: pim_process_no_bsm_cmd+0x4a        561aa378b7b6     7ffcc7b51b90 /usr/lib/frr/pimd (mapped at 0x561aa3726000)
PIM: no_ip_pim_bsm+0x23                 561aa37d8487     7ffcc7b51bb0 /usr/lib/frr/pimd (mapped at 0x561aa3726000)
PIM: cmd_execute_command_real+0x35a     7f62008f83c6     7ffcc7b51be0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: cmd_execute_command+0x12f          7f62008f8527     7ffcc7b51c70 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: cmd_execute+0x95                   7f62008f8a75     7ffcc7b51cd0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: vty_command+0x1b8                  7f62009b621a     7ffcc7b51d20 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: vty_execute+0x59                   7f62009b7fb3     7ffcc7b53db0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: vtysh_read+0x1f6                   7f62009ba136     7ffcc7b53de0 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: event_call+0xd6                    7f62009af5df     7ffcc7b54040 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: frr_run+0x240                      7f6200935177     7ffcc7b54100 /usr/lib/x86_64-linux-gnu/frr/libfrr.so.0 (mapped at 0x7f6200864000)
PIM: main+0x12e                         561aa37e7950     7ffcc7b54210 /usr/lib/frr/pimd (mapped at 0x561aa3726000)
PIM: __libc_start_main+0xea             7f6200681d0a     7ffcc7b54250 /lib/x86_64-linux-gnu/libc.so.6 (mapped at 0x7f620065b000)
PIM: _start+0x2a                        561aa377c42a     7ffcc7b54320 /usr/lib/frr/pimd (mapped at 0x561aa3726000)
```

Signed-off-by: anlan_cs <anlan_cs@tom.com>
7 months agonhrpd: fixes duplicate auth extension 16808/head
Denys Haryachyy [Thu, 12 Sep 2024 07:28:28 +0000 (07:28 +0000)]
nhrpd: fixes duplicate auth extension

When an NHRP peer was forwarding a message, it was copying all
extensions from the originally received packet. The authentication
extension must be regenerated hop by hop per RFC2332.
This fix checks for the auth extension when copying extensions
and omits the original packet auth and instead regenerates a new auth extension.

Fix bug #16507

Signed-off-by: Denys Haryachyy <garyachy@gmail.com>
7 months agotests: fix isis_lsp_bits_topo1 race condition 16807/head
Louis Scalbert [Thu, 12 Sep 2024 07:14:02 +0000 (09:14 +0200)]
tests: fix isis_lsp_bits_topo1 race condition

Level 2 adjacency list is not supposed to be always set.

> #0  raise (sig=<optimized out>) at ../sysdeps/unix/sysv/linux/raise.c:50
> #1  0x00007f9f0353274f in core_handler (signo=6, siginfo=0x7ffe95260770, context=0x7ffe95260640) at lib/sigevent.c:258
> #2  <signal handler called>
> #3  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
> #4  0x00007f9f0324e537 in __GI_abort () at abort.c:79
> #5  0x00007f9f035744ea in _zlog_assert_failed (xref=0x7f9f0362c6c0 <_xref.15>, extra=0x0) at lib/zlog.c:789
> #6  0x00007f9f034d25ee in listnode_head (list=0x0) at lib/linklist.c:316
> #7  0x000055cd65aaa481 in lib_interface_state_isis_adjacencies_adjacency_get_next (args=0x7ffe95261730) at isisd/isis_nb_state.c:101
> #8  0x00007f9f034feadd in nb_callback_get_next (nb_node=0x55cd673c0190, parent_list_entry=0x55cd67570d30, list_entry=0x55cd6758f8a0) at lib/northbound.c:1748
> #9  0x00007f9f0350bf07 in __walk (ys=0x55cd675782b0, is_resume=false) at lib/northbound_oper.c:1264
> #10 0x00007f9f0350deaa in nb_op_walk_start (ys=0x55cd675782b0) at lib/northbound_oper.c:1741
> #11 0x00007f9f0350e079 in nb_oper_iterate_legacy (xpath=0x55cd67595c60 "/frr-interface:lib", translator=0x0, flags=0, cb=0x0, cb_arg=0x0, tree=0x7ffe952621b0) at lib/northbound_oper.c:1803
> #12 0x00007f9f03507661 in show_yang_operational_data_magic (self=0x7f9f03634a80 <show_yang_operational_data_cmd>, vty=0x55cd675a61f0, argc=4, argv=0x55cd6758eab0,
>     xpath=0x55cd67595c60 "/frr-interface:lib", json=0x0, xml=0x0, translator_family=0x0, with_config=0x0) at lib/northbound_cli.c:1576
> #13 0x00007f9f035037f0 in show_yang_operational_data (self=0x7f9f03634a80 <show_yang_operational_data_cmd>, vty=0x55cd675a61f0, argc=4, argv=0x55cd6758eab0)
>     at ./lib/northbound_cli_clippy.c:906
> #14 0x00007f9f0349435d in cmd_execute_command_real (vline=0x55cd6758e490, vty=0x55cd675a61f0, cmd=0x0, up_level=0) at lib/command.c:1003
> #15 0x00007f9f03494477 in cmd_execute_command (vline=0x55cd67585340, vty=0x55cd675a61f0, cmd=0x0, vtysh=0) at lib/command.c:1053
> #16 0x00007f9f03494a0c in cmd_execute (vty=0x55cd675a61f0, cmd=0x55cd67579040 "do show yang operational-data /frr-interface:lib", matched=0x0, vtysh=0) at lib/command.c:1228
> #17 0x00007f9f0355239d in vty_command (vty=0x55cd675a61f0, buf=0x55cd67579040 "do show yang operational-data /frr-interface:lib") at lib/vty.c:625
> #18 0x00007f9f03554136 in vty_execute (vty=0x55cd675a61f0) at lib/vty.c:1388
> #19 0x00007f9f0355634c in vtysh_read (thread=0x7ffe952647a0) at lib/vty.c:2400
> #20 0x00007f9f0354b6f6 in event_call (thread=0x7ffe952647a0) at lib/event.c:1996
> #21 0x00007f9f034d1365 in frr_run (master=0x55cd67204da0) at lib/libfrr.c:1231
> #22 0x000055cd65a3236e in main (argc=7, argv=0x7ffe952649c8, envp=0x7ffe95264a08) at isisd/isis_main.c:354

Fixes: 2a1c520e9f ("isisd: split northbound callbacks into multiple files")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
7 months agoMerge pull request #16798 from donaldsharp/zebra_more_vrf_debug_data
Donatas Abraitis [Thu, 12 Sep 2024 06:23:30 +0000 (09:23 +0300)]
Merge pull request #16798 from donaldsharp/zebra_more_vrf_debug_data

zebra: Add more vrf name to debugs

7 months agobgpd: changes for code maintainability 16792/head
sri-mohan1 [Wed, 11 Sep 2024 05:52:47 +0000 (11:22 +0530)]
bgpd: changes for code maintainability

these changes are for improving the code maintainability and readability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
7 months agobgpd: Remove check for bgp pointer 16774/head
Donald Sharp [Mon, 9 Sep 2024 15:11:33 +0000 (11:11 -0400)]
bgpd: Remove check for bgp pointer

The check for an equivalent bgp pointer makes no sense
in the context of the workqueue as that we have a
work queue per bgp process, as such the bgp pointer
will always be the same as the pqnode.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
7 months agobgpd: Allow BGP to process certain routes early
Donald Sharp [Mon, 9 Sep 2024 14:26:13 +0000 (10:26 -0400)]
bgpd: Allow BGP to process certain routes early

There is a need to be able to process certain bgp
routes earlier than others.  Especially when there
is major trauma going on in the network.  Start
the ability for this to happen.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
7 months agozebra: Add more vrf name to debugs 16798/head
Donald Sharp [Wed, 3 Jul 2024 14:29:21 +0000 (10:29 -0400)]
zebra: Add more vrf name to debugs

Trying to debug some cross vrf stuff in zebra and frankly
it's hard to grep the file for the routes you are interested
in.  Let's clean this up some and get a bit better
information for us developers

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
7 months agoMerge pull request #16789 from mjstapp/doc_dev_update
Jafar Al-Gharaibeh [Wed, 11 Sep 2024 16:52:50 +0000 (12:52 -0400)]
Merge pull request #16789 from mjstapp/doc_dev_update

doc: add some text about using git forks

7 months agotests: bgp_set_aspath_exclude extend timers 16779/head
Louis Scalbert [Wed, 11 Sep 2024 16:02:52 +0000 (18:02 +0200)]
tests: bgp_set_aspath_exclude extend timers

Extend timers in bgp_set_aspath_exclude in case of high load on the CI.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
7 months agotests: bgp_set_aspath_exclude check rule modif
Louis Scalbert [Tue, 10 Sep 2024 13:10:26 +0000 (15:10 +0200)]
tests: bgp_set_aspath_exclude check rule modif

No need to do 'no set as-path exclude' to replace the current rule by
another. The code is supposed to support the replacement.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
7 months agodoc: add some text about git forks 16789/head
Mark Stapp [Tue, 10 Sep 2024 19:29:12 +0000 (15:29 -0400)]
doc: add some text about git forks

Add some general guidance about creating and using a fork
of the FRR repository to the workflow doc.

Signed-off-by: Mark Stapp <mjs@cisco.com>
7 months agodoc: fix several warnings in dev docs
Mark Stapp [Tue, 10 Sep 2024 19:21:03 +0000 (15:21 -0400)]
doc: fix several warnings in dev docs

Clean up several sphinx warnings in the dev docs:
add bmp to bgp TOC; fix some indenting; escape some asterisks.

Signed-off-by: Mark Stapp <mjs@cisco.com>
7 months agolib: Attach stdout to child only if --log=stdout and stdout FD is a tty 16738/head
Vladislav Odintsov [Wed, 4 Sep 2024 11:18:35 +0000 (14:18 +0300)]
lib: Attach stdout to child only if --log=stdout and stdout FD is a tty

Prior to this commit stdout of a process started in a daemon mode was
attached to a calling process.
As a result a calling process hung for infinity.

Signed-off-by: Vladislav Odintsov <vlodintsov@k2.cloud>
7 months agoMerge pull request #16718 from louis-6wind/fix-asla-length
Olivier Dugeon [Tue, 10 Sep 2024 14:48:39 +0000 (16:48 +0200)]
Merge pull request #16718 from louis-6wind/fix-asla-length

isisd: fix crash when reading asla

7 months agoMerge pull request #16778 from aapostoliuk/16628-master
Russ White [Tue, 10 Sep 2024 14:24:17 +0000 (10:24 -0400)]
Merge pull request #16778 from aapostoliuk/16628-master

nhrpd: Added a command "no tunnel protection vici profile PROFILE"

7 months agoMerge pull request #16772 from louis-6wind/fix-isis-affinity
Russ White [Tue, 10 Sep 2024 14:20:53 +0000 (10:20 -0400)]
Merge pull request #16772 from louis-6wind/fix-isis-affinity

isisd: fix crash at flex-algo affinity setting

7 months agoMerge pull request #16759 from lsang6WIND/ospf_log
Russ White [Tue, 10 Sep 2024 14:18:22 +0000 (10:18 -0400)]
Merge pull request #16759 from lsang6WIND/ospf_log

ospfd: logging behavior for area id mismatches

7 months agoMerge pull request #16748 from opensourcerouting/fix/issue_12502
Russ White [Tue, 10 Sep 2024 14:17:24 +0000 (10:17 -0400)]
Merge pull request #16748 from opensourcerouting/fix/issue_12502

bgpd: Validate imported routes next-hop that is in a default VRF