]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
23 months agoMerge pull request #12010 from opensourcerouting/fix/logging_for_route_refresh
Russ White [Tue, 27 Sep 2022 15:27:12 +0000 (11:27 -0400)]
Merge pull request #12010 from opensourcerouting/fix/logging_for_route_refresh

bgpd: Print hostname for peer as well when marking as stale for route-refresh

23 months agoMerge pull request #12016 from opensourcerouting/fix/route_map_show_json
Russ White [Tue, 27 Sep 2022 15:26:28 +0000 (11:26 -0400)]
Merge pull request #12016 from opensourcerouting/fix/route_map_show_json

lib: Fix `show route-map NAME json` command and memory leak

23 months agoMerge pull request #11989 from maduri111/bgpd-cond-adv-peer-unset
Donatas Abraitis [Tue, 27 Sep 2022 12:03:58 +0000 (15:03 +0300)]
Merge pull request #11989 from maduri111/bgpd-cond-adv-peer-unset

bgpd: conditional advertise-map unset on peer not re-advertising with…

23 months agoMerge pull request #11910 from fdumontet6WIND/NAI_Adj
Olivier Dugeon [Tue, 27 Sep 2022 09:24:53 +0000 (11:24 +0200)]
Merge pull request #11910 from fdumontet6WIND/NAI_Adj

 pathd: nai adjacency fix query type f for IPV6

23 months agoMerge pull request #12009 from AbhishekNR/json_last-member-query-count
Donatas Abraitis [Tue, 27 Sep 2022 06:42:11 +0000 (09:42 +0300)]
Merge pull request #12009 from AbhishekNR/json_last-member-query-count

pim6d: Adding last member query count field in "show ipv6 mld interface [ifname] json" command.

23 months agoMerge pull request #12002 from opensourcerouting/fix/add_doc_missing_bgp_implemented_rf
Donald Sharp [Mon, 26 Sep 2022 13:07:22 +0000 (09:07 -0400)]
Merge pull request #12002 from opensourcerouting/fix/add_doc_missing_bgp_implemented_rf

doc: Update supported BGP RFC list

23 months agoMerge pull request #12000 from opensourcerouting/fix/remove_deprecated_ospf_command
Donald Sharp [Mon, 26 Sep 2022 12:44:40 +0000 (08:44 -0400)]
Merge pull request #12000 from opensourcerouting/fix/remove_deprecated_ospf_command

ospfd: Remove deprecated command `graceful-restart helper-only`

23 months agoMerge pull request #12003 from anlancs/fix/fpm-crash
Donald Sharp [Mon, 26 Sep 2022 12:43:40 +0000 (08:43 -0400)]
Merge pull request #12003 from anlancs/fix/fpm-crash

zebra: fix fpm crash

23 months agolib: Fix `show route-map NAME json` command and memory leak
Donatas Abraitis [Mon, 26 Sep 2022 11:49:54 +0000 (14:49 +0300)]
lib: Fix `show route-map NAME json` command and memory leak

JSON object was generated, but not printed, because the function returned
immediatelly, even without freeing the memory.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
23 months agobgpd: Print hostname for peer as well when marking as stale for route-refresh
Donatas Abraitis [Mon, 26 Sep 2022 08:07:01 +0000 (11:07 +0300)]
bgpd: Print hostname for peer as well when marking as stale for route-refresh

Before:

```
2022/09/26 10:13:35.261 BGP: [QCZ1W-VKS36] 192.168.0.1(r0) sending REFRESH_REQ for afi/safi: IPv4/unicast
2022/09/26 10:13:35.262 BGP: [VF3QY-FP1PP] 192.168.0.1: route-refresh for IPv4/unicast, marking prefix 172.16.1.1/32 as stale
2022/09/26 10:13:35.262 BGP: [VF3QY-FP1PP] 192.168.0.1: route-refresh for IPv4/unicast, marking prefix 192.168.0.0/24 as stale
2022/09/26 10:13:35.262 BGP: [SDZS7-XVC4W] 192.168.0.1(r0) rcvd route-refresh (BoRR) for IPv4/unicast, triggering timer for 360 seconds
2022/09/26 10:13:35.362 BGP: [Y6XKR-PF89P] 192.168.0.1(r0) rcvd route-refresh (EoRR) for IPv4/unicast, stopping BoRR timer
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
23 months agopim6d: Adding last member query count field in "show ipv6 mld interface [ifname]...
Abhishek N R [Mon, 26 Sep 2022 06:58:51 +0000 (23:58 -0700)]
pim6d: Adding last member query count field in "show ipv6 mld interface [ifname] json" command.

Fixes: #12004
Signed-off-by: Abhishek N R <abnr@vmware.com>
23 months agodoc: Update supported BGP RFC list
Donatas Abraitis [Fri, 23 Sep 2022 19:37:41 +0000 (22:37 +0300)]
doc: Update supported BGP RFC list

Added such RFCs (missing):

https://datatracker.ietf.org/doc/html/rfc2385
https://datatracker.ietf.org/doc/html/rfc2918
https://datatracker.ietf.org/doc/html/rfc4360
https://datatracker.ietf.org/doc/html/rfc4456
https://datatracker.ietf.org/doc/html/rfc4724
https://datatracker.ietf.org/doc/html/rfc4760
https://datatracker.ietf.org/doc/html/rfc5065
https://datatracker.ietf.org/doc/html/rfc5291
https://datatracker.ietf.org/doc/html/rfc5292
https://datatracker.ietf.org/doc/html/rfc6472
https://datatracker.ietf.org/doc/html/rfc5492
https://datatracker.ietf.org/doc/html/rfc7911
https://datatracker.ietf.org/doc/html/rfc6996
https://datatracker.ietf.org/doc/html/rfc6938
https://datatracker.ietf.org/doc/html/rfc8093
https://datatracker.ietf.org/doc/html/rfc7947
https://datatracker.ietf.org/doc/html/rfc9012
https://datatracker.ietf.org/doc/html/rfc8669
https://datatracker.ietf.org/doc/html/rfc8050

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
23 months agoMerge pull request #12001 from donaldsharp/use_integrated
Donatas Abraitis [Sun, 25 Sep 2022 08:44:42 +0000 (11:44 +0300)]
Merge pull request #12001 from donaldsharp/use_integrated

doc: Align docs to recommend integrated config

23 months agobgpd: conditional advertise-map unset on peer fixing warning messages
Madhuri Kuruganti [Sun, 25 Sep 2022 06:07:00 +0000 (11:37 +0530)]
bgpd: conditional advertise-map unset on peer fixing warning messages

Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
23 months agobgpd: conditional advertise-map unset on peer not re-advertising withdrawn routes
Madhuri Kuruganti [Wed, 21 Sep 2022 16:14:13 +0000 (21:44 +0530)]
bgpd: conditional advertise-map unset on peer not re-advertising withdrawn routes

Signed-off-by: Madhuri Kuruganti <maduri111@gmail.com>
23 months agozebra: fix fpm crash
anlan_cs [Sat, 24 Sep 2022 23:00:14 +0000 (19:00 -0400)]
zebra: fix fpm crash

Fix issue#11996.

When removing VRF ( all routes of this VRF), zebra mistakenly forgot to check
whether its routes are in update queue of FPM.  So FPM module will crash during
its dealing with these routes, which are already freed.

Add a new HOOK `rib_shutdown()`, `zebra_rtable_node_cleanup()` will use it
to remove these routes from update queue of FPM module before freeing them.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
23 months agodoc: Align docs to recommend integrated config
Donald Sharp [Fri, 23 Sep 2022 19:16:40 +0000 (15:16 -0400)]
doc: Align docs to recommend integrated config

Docs were recommending both integrated and non-integrated
config in different sections.  Remove the recommendation
for non-integrated config from vtysh.rst.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
23 months agoospfd: Remove deprecated command `graceful-restart helper-only`
Donatas Abraitis [Fri, 23 Sep 2022 19:10:05 +0000 (22:10 +0300)]
ospfd: Remove deprecated command `graceful-restart helper-only`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
23 months agoMerge pull request #11982 from samanvithab/bgp_mem_fix
Donatas Abraitis [Fri, 23 Sep 2022 14:54:33 +0000 (17:54 +0300)]
Merge pull request #11982 from samanvithab/bgp_mem_fix

bgpd: multiple memory leak issue fixes

23 months agobgpd: Cleanup memory leaks associated with t_deferral_timer
Samanvitha B Bhargav [Wed, 21 Sep 2022 10:18:06 +0000 (03:18 -0700)]
bgpd: Cleanup memory leaks associated with t_deferral_timer

We are allocating temporary memory for information about
what to process in this thread, which is not being cleaned
up on thread cancelling.

Signed-off-by: Samanvitha B Bhargav <bsmanvitha@vmware.com>
23 months agoMerge pull request #11997 from sri-mohan1/sri-zebra-dbg1
Donatas Abraitis [Fri, 23 Sep 2022 07:04:25 +0000 (10:04 +0300)]
Merge pull request #11997 from sri-mohan1/sri-zebra-dbg1

zebra: changes for code maintainability

23 months agozebra: changes for code maintainability
sri-mohan1 [Thu, 22 Sep 2022 18:34:40 +0000 (00:04 +0530)]
zebra: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
23 months agoMerge pull request #11993 from opensourcerouting/feature/printfrr_pRD
Donald Sharp [Thu, 22 Sep 2022 13:30:51 +0000 (09:30 -0400)]
Merge pull request #11993 from opensourcerouting/feature/printfrr_pRD

bgpd: Use %pRD for prefix_rd2str()

23 months agoMerge pull request #11979 from opensourcerouting/fix/stop_conditional_adv_thread
Donald Sharp [Thu, 22 Sep 2022 13:30:01 +0000 (09:30 -0400)]
Merge pull request #11979 from opensourcerouting/fix/stop_conditional_adv_thread

bgpd: Stop conditional advertisements thread when terminating

2 years agobgpd: Use %pRD for prefix_rd2str()
Donatas Abraitis [Thu, 22 Sep 2022 08:17:49 +0000 (11:17 +0300)]
bgpd: Use %pRD for prefix_rd2str()

Convert a bunch of prefix_rd2str() for json/vty stuff.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Stop conditional advertisements thread when terminating
Donatas Abraitis [Tue, 20 Sep 2022 20:47:55 +0000 (23:47 +0300)]
bgpd: Stop conditional advertisements thread when terminating

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11986 from opensourcerouting/fix/drop_outdated_files
Donald Sharp [Wed, 21 Sep 2022 16:56:25 +0000 (12:56 -0400)]
Merge pull request #11986 from opensourcerouting/fix/drop_outdated_files

bgpd: Drop out-of-date files

2 years agobgpd: Drop out-of-date files
Donatas Abraitis [Wed, 21 Sep 2022 14:21:31 +0000 (17:21 +0300)]
bgpd: Drop out-of-date files

Just not maintained for > 18 years.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11977 from opensourcerouting/fix/docker_alpine_apk
Donald Sharp [Wed, 21 Sep 2022 14:15:49 +0000 (10:15 -0400)]
Merge pull request #11977 from opensourcerouting/fix/docker_alpine_apk

docker: Keep and copy .apk files after they are built

2 years agobgpd: memory leak issue fix
Samanvitha B Bhargav [Wed, 21 Sep 2022 08:57:09 +0000 (01:57 -0700)]
bgpd: memory leak issue fix

Memory allocated when 'import vrf route maps <>' is configured,
wasn't being freed when the entire bgp config
was deleted through 'no router bgp'.

Signed-off-by: Samanvitha B Bhargav <bsmanvitha@vmware.com>
2 years agobgpd: memory leak issue fix
Samanvitha B Bhargav [Wed, 21 Sep 2022 08:45:41 +0000 (01:45 -0700)]
bgpd: memory leak issue fix

In ecommunity_del_val(), ecommunity was not being freed
when the last value in the ecommunity was being deleted.

Signed-off-by: Samanvitha B Bhargav <bsmanvitha@vmware.com>
2 years agobgpd: memory leak issue fix
Samanvitha B Bhargav [Wed, 21 Sep 2022 07:54:14 +0000 (00:54 -0700)]
bgpd: memory leak issue fix

When router id is changed through config, new RD is auto generated.
However new export RT was being assigned without freeing
the older RT from VRF.

Signed-off-by: Samanvitha B Bhargav <bsmanvitha@vmware.com>
2 years agoMerge pull request #11802 from AbhishekNR/ttable_pim_state
Donatas Abraitis [Wed, 21 Sep 2022 08:00:40 +0000 (11:00 +0300)]
Merge pull request #11802 from AbhishekNR/ttable_pim_state

pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim state" command output.

2 years agoMerge pull request #11918 from patrasar/show_ipv6_mld_interface_fix
Donatas Abraitis [Wed, 21 Sep 2022 07:19:33 +0000 (10:19 +0300)]
Merge pull request #11918 from patrasar/show_ipv6_mld_interface_fix

pim6d: "show ipv6 mld interface" command

2 years agoMerge pull request #11968 from donaldsharp/isis_plist_mem_leak
mobash-rasool [Wed, 21 Sep 2022 02:52:33 +0000 (08:22 +0530)]
Merge pull request #11968 from donaldsharp/isis_plist_mem_leak

isisd: Fix memory leak on shutdown with prefix lists

2 years agodocker: Keep and copy .apk files after they are built
Donatas Abraitis [Tue, 20 Sep 2022 20:23:55 +0000 (23:23 +0300)]
docker: Keep and copy .apk files after they are built

For debugging purposes and/or to distribute them somewhere else.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11972 from pguibert6WIND/mpls_te_on
Donald Sharp [Tue, 20 Sep 2022 16:16:56 +0000 (12:16 -0400)]
Merge pull request #11972 from pguibert6WIND/mpls_te_on

pathd: 'no mpls-te on' command was not working

2 years agoMerge pull request #11952 from anlancs/fix/cleanup-20
Russ White [Tue, 20 Sep 2022 15:17:32 +0000 (11:17 -0400)]
Merge pull request #11952 from anlancs/fix/cleanup-20

include: clean up some white spaces

2 years agoMerge pull request #11956 from opensourcerouting/fix/bgpd_unlocks
Russ White [Tue, 20 Sep 2022 15:17:03 +0000 (11:17 -0400)]
Merge pull request #11956 from opensourcerouting/fix/bgpd_unlocks

bgpd: Don't forget bgp_dest_unlock_node before return

2 years agoisisd: Fix memory leak on shutdown with prefix lists
Donald Sharp [Mon, 19 Sep 2022 16:34:18 +0000 (12:34 -0400)]
isisd: Fix memory leak on shutdown with prefix lists

==2623619==
==2623619== 6 bytes in 1 blocks are definitely lost in loss record 3 of 75
==2623619==    at 0x483877F: malloc (vg_replace_malloc.c:307)
==2623619==    by 0x4B55E4A: strdup (strdup.c:42)
==2623619==    by 0x493C992: qstrdup (memory.c:128)
==2623619==    by 0x1A9212: isis_instance_fast_reroute_level_1_remote_lfa_prefix_list_modify (isis_nb_config.c:1599)
==2623619==    by 0x494837C: nb_callback_modify (northbound.c:1083)
==2623619==    by 0x4948C6E: nb_callback_configuration (northbound.c:1352)
==2623619==    by 0x494919D: nb_transaction_process (northbound.c:1473)
==2623619==    by 0x4947DA9: nb_candidate_commit_apply (northbound.c:906)
==2623619==    by 0x4947EBA: nb_candidate_commit (northbound.c:938)
==2623619==    by 0x494EB9E: nb_cli_classic_commit (northbound_cli.c:64)
==2623619==    by 0x494F3DC: nb_cli_apply_changes_internal (northbound_cli.c:250)
==2623619==    by 0x494F4E2: nb_cli_apply_changes (northbound_cli.c:268)
==2623619==    by 0x1BEF0F: isis_frr_remote_lfa_plist_magic (isis_cli.c:1899)
==2623619==    by 0x1B7636: isis_frr_remote_lfa_plist (isis_cli_clippy.c:3406)
==2623619==    by 0x48EBA75: cmd_execute_command_real (command.c:997)
==2623619==    by 0x48EBD4E: cmd_execute_command_strict (command.c:1108)
==2623619==    by 0x48EC1E6: command_config_read_one_line (command.c:1268)
==2623619==    by 0x48EC35B: config_from_file (command.c:1313)
==2623619==    by 0x4999CC1: vty_read_file (vty.c:2347)
==2623619==    by 0x499A4AF: vty_read_config (vty.c:2567)
==2623619==    by 0x4924B12: frr_config_read_in (libfrr.c:984)
==2623619==    by 0x498F5E3: thread_call (thread.c:2008)
==2623619==    by 0x49253DA: frr_run (libfrr.c:1198)
==2623619==    by 0x14FC53: main (isis_main.c:273)

Fix this memory leak

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agoMerge pull request #11954 from opensourcerouting/fix/ecommunity_memory_leak
Donald Sharp [Tue, 20 Sep 2022 12:18:47 +0000 (08:18 -0400)]
Merge pull request #11954 from opensourcerouting/fix/ecommunity_memory_leak

bgpd: Free ecommunity before returning on warning/error

2 years agopathd: 'no mpls-te on' command was not working
Philippe Guibert [Thu, 15 Sep 2022 15:18:42 +0000 (17:18 +0200)]
pathd: 'no mpls-te on' command was not working

Fix the 'no mpls-te on' command.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 years agoMerge pull request #11971 from opensourcerouting/fix/coccinelle_route_map_apply
Donald Sharp [Tue, 20 Sep 2022 11:32:22 +0000 (07:32 -0400)]
Merge pull request #11971 from opensourcerouting/fix/coccinelle_route_map_apply

bgpd: Use route_map_result_t for route_map_apply() as return type

2 years agobgpd: Use route_map_result_t for route_map_apply() as return type
Donatas Abraitis [Tue, 20 Sep 2022 07:45:02 +0000 (10:45 +0300)]
bgpd: Use route_map_result_t for route_map_apply() as return type

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11958 from AbhishekNR/ttable_show
Donatas Abraitis [Tue, 20 Sep 2022 06:47:09 +0000 (09:47 +0300)]
Merge pull request #11958 from AbhishekNR/ttable_show

pimd, pim6d: Using ttable for displaying show command outputs

2 years agoMerge pull request #11872 from AbhishekNR/const_igmp_gm
Donatas Abraitis [Mon, 19 Sep 2022 14:48:24 +0000 (17:48 +0300)]
Merge pull request #11872 from AbhishekNR/const_igmp_gm

pimd, pim6d: Changing IGMP to GM in few macro's.

2 years agoMerge pull request #11940 from sri-mohan1/sri-zebra-dbg1
Mark Stapp [Mon, 19 Sep 2022 14:43:38 +0000 (10:43 -0400)]
Merge pull request #11940 from sri-mohan1/sri-zebra-dbg1

zebra: changes for code maintainability

2 years agoMerge pull request #11953 from AbhishekNR/issue_11925
Donatas Abraitis [Mon, 19 Sep 2022 14:37:04 +0000 (17:37 +0300)]
Merge pull request #11953 from AbhishekNR/issue_11925

pim6d: (*,G) mroutes not learnt after pim6d daemon restart

2 years agoMerge pull request #11945 from leonshaw/bgp-refresh-eor
Donatas Abraitis [Mon, 19 Sep 2022 14:32:46 +0000 (17:32 +0300)]
Merge pull request #11945 from leonshaw/bgp-refresh-eor

bgpd: Handle route-refresh request received before EoR

2 years agoMerge pull request #11917 from patrasar/pimv6_clear_mroute_fix
Donald Sharp [Mon, 19 Sep 2022 12:34:37 +0000 (08:34 -0400)]
Merge pull request #11917 from patrasar/pimv6_clear_mroute_fix

pim6d: fix clear ipv6 mroute crash

2 years agopimd, pim6d: Using ttable for displaying "show ip/ipv6 pim local-membership" command...
Abhishek N R [Fri, 16 Sep 2022 17:37:21 +0000 (10:37 -0700)]
pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim local-membership" command output

Before:

frr# sh ipv6 pim local-membership
Interface         Address          Source           Group            Membership
ens224            fe80::250:56ff:feb7:9091  *                ff08::1          NOINFO

After:

frr# sh ipv6 pim local-membership
 Interface  Address                   Source  Group    Membership
 ens224     fe80::250:56ff:feb7:9091  *       ff08::1  NOINFO

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agopimd, pim6d: Using ttable for displaying "show ip/ipv6 pim neighbor" command output.
Abhishek N R [Fri, 16 Sep 2022 17:11:09 +0000 (10:11 -0700)]
pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim neighbor" command output.

Before:

frr# show ipv6 pim neighbor
Interface                Neighbor    Uptime  Holdtime  DR Pri
ens192            fe80::250:56ff:feb7:38de  00:10:47  00:01:28       1
ens224            fe80::250:56ff:feb7:4bad  00:10:47  00:01:28       1

After:

frr# sh ipv6 pim neighbor
 Interface  Neighbor                  Uptime    Holdtime  DR Pri
 ens192     fe80::250:56ff:feb7:38de  00:00:12  00:01:32  1
 ens224     fe80::250:56ff:feb7:4bad  00:00:12  00:01:32  1

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agopimd, pim6d: Using ttable for displaying "show ip/ipv6 pim join" command output
Abhishek N R [Fri, 16 Sep 2022 16:49:22 +0000 (09:49 -0700)]
pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim join" command output

Before:
frr# sh ipv6 pim join
Interface        Address         Source          Group           State      Uptime   Expire Prune
ens224           fe80::250:56ff:feb7:9091 *               ff08::1         JOIN       00:16:31 03:28  --:--

After:
frr# show ipv6 pim join
 Interface  Address                   Source  Group    State  Uptime    Expire  Prune
 ens224     fe80::250:56ff:feb7:9091  *       ff08::1  JOIN   00:00:51  03:27   --:--

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agopimd, pim6d: Changing IGMP to GM in few macro's.
Abhishek N R [Mon, 29 Aug 2022 12:17:08 +0000 (05:17 -0700)]
pimd, pim6d: Changing IGMP to GM in few macro's.

Changing
IGMP_DEFAULT_ROBUSTNESS_VARIABLE to GM_DEFAULT_ROBUSTNESS_VARIABLE,
IGMP_GENERAL_QUERY_INTERVAL to GM_GENERAL_QUERY_INTERVAL,
IGMP_QUERY_MAX_RESPONSE_TIME_DSEC to GM_QUERY_MAX_RESPONSE_TIME_DSEC and
IGMP_SPECIFIC_QUERY_MAX_RESPONSE_TIME_DSEC to GM_SPECIFIC_QUERY_MAX_RESPONSE_TIME_DSEC
to accomodate both igmp and mld. And moved it to common file.

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agoMerge pull request #11955 from mobash-rasool/fixes3
Donatas Abraitis [Sat, 17 Sep 2022 20:30:07 +0000 (23:30 +0300)]
Merge pull request #11955 from mobash-rasool/fixes3

pim6d: Fixing coverity issues for pim6_mld.c

2 years agobgpd: Don't forget bgp_dest_unlock_node before return
Donatas Abraitis [Tue, 13 Sep 2022 22:44:23 +0000 (01:44 +0300)]
bgpd: Don't forget bgp_dest_unlock_node before return

Before returning an error, unlock bgp dest which is locked by
bgp_node_lookup()/bgp_node_get().

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11900 from patrasar/pimv6_lmqt
Donatas Abraitis [Fri, 16 Sep 2022 10:51:38 +0000 (03:51 -0700)]
Merge pull request #11900 from patrasar/pimv6_lmqt

pim6d: Update last_member_query_interval and last_member_query_count

2 years agobgpd: Handle route-refresh request received before EoR
Xiao Liang [Wed, 14 Sep 2022 03:13:41 +0000 (11:13 +0800)]
bgpd: Handle route-refresh request received before EoR

See the BGP message sequence:

    R1                  R2
    |      updates      |
    |------------------>|
    |                   |
    |  refresh request  |
    x<------------------|
    |                   |
    |   updates cont.   |
    |------------------>|
    |                   |
    |    end-of-rib     |
    |------------------>|
    |                   |

When R1 and R2 establish BGP session, R1 begins to send initial updates.
If R2 sends a route-refresh request before EoR, it's silently ignored
by R1, and routes received earlier have no chance to be processed again.

RFC7313 says, "for a BGP speaker that supports the BGP Graceful Restart,
it MUST NOT send a BoRR for an <AFI, SAFI> to a neighbor before it sends
the EoR for the <AFI, SAFI> to the neighbor." But it doesn't forbid
route-refresh request to be sent before receiving EoR.

To handle this scenario, postpone response to refresh request until EoR
is sent.

Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
2 years agopim6d: Fixing coverity issues for pim6_mld.c
Mobashshera Rasool [Fri, 16 Sep 2022 10:11:35 +0000 (03:11 -0700)]
pim6d: Fixing coverity issues for pim6_mld.c

CID 1519843 (#2 of 2): Uninitialized scalar variable (UNINIT)
43. uninit_use_in_call: Using uninitialized value pkt_src->sin6_addr when calling gm_rx_process

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agobgpd: Free ecommunity before returning on warning/error
Donatas Abraitis [Mon, 12 Sep 2022 02:05:42 +0000 (05:05 +0300)]
bgpd: Free ecommunity before returning on warning/error

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agopimd, pim6d: Using ttable for displaying "show ip/ipv6 pim state" command output.
Abhishek N R [Sat, 13 Aug 2022 08:03:35 +0000 (01:03 -0700)]
pimd, pim6d: Using ttable for displaying "show ip/ipv6 pim state" command output.

Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agopim6d: (*,G) mroutes not learnt after pim6d daemon restart
Abhishek N R [Fri, 16 Sep 2022 07:42:39 +0000 (00:42 -0700)]
pim6d: (*,G) mroutes not learnt after pim6d daemon restart

After restart pim dr address was zero due to which pim (*,G) join
could not get propagated towards RP.

While trying to find primary address ll_highest will be zero initially,
since we have not received address from zebra yet.

So we can get the best address at this point and use it as primary address
whenever ll_highest is zero.

Fixes: #11925
Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agopim6d: fix clear ipv6 mroute crash
Sarita Patra [Wed, 7 Sep 2022 04:31:26 +0000 (21:31 -0700)]
pim6d: fix clear ipv6 mroute crash

Root Cause:
"clear ipv6 mroute" was not deleting the subscribers of gm_if
structure.

Fix:
The command "clear ipv6 mroute" deletes grp_pends, gsq_pends, sgs,
subscribers, expires of gm_if data structure.

Deleted the common code in gm_ifp_teardown() and called
gm_group_delete().

Issue: #11724

Signed-off-by: Sarita Patra <saritap@vmware.com>
2 years agoinclude: clean up some white spaces
anlan_cs [Thu, 15 Sep 2022 09:33:20 +0000 (05:33 -0400)]
include: clean up some white spaces

Found some extra spaces, clean up them with uniform format.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2 years agoMerge pull request #11949 from donaldsharp/plist_deletion_failure
Donatas Abraitis [Thu, 15 Sep 2022 18:32:37 +0000 (11:32 -0700)]
Merge pull request #11949 from donaldsharp/plist_deletion_failure

lib: Fix skip of every other plist deletion

2 years agoMerge pull request #11948 from mobash-rasool/fixes3
Donald Sharp [Thu, 15 Sep 2022 12:04:57 +0000 (08:04 -0400)]
Merge pull request #11948 from mobash-rasool/fixes3

pimd: Fix memleak in bfd profile

2 years agozebra: changes for code maintainability
sri-mohan1 [Tue, 13 Sep 2022 06:28:35 +0000 (11:58 +0530)]
zebra: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2 years agolib: Fix skip of every other plist deletion
Donald Sharp [Wed, 14 Sep 2022 17:48:31 +0000 (13:48 -0400)]
lib: Fix skip of every other plist deletion

When bulk deleting prefix lists on shutdown the code
was calling plist_delete, which removed the item
from the master->str list, and then popping the next
item on the list and just dropping it on the floor.
The pop is not needed.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 years agopimd: Fix memleak in bfd profile
Mobashshera Rasool [Wed, 14 Sep 2022 17:34:10 +0000 (10:34 -0700)]
pimd: Fix memleak in bfd profile

In function pim_if_delete, pim_ifp->bfd_config.profile needs to be
freed.
Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
2 years agoMerge pull request #11946 from AbhishekNR/debug_igmp_gm
Donald Sharp [Wed, 14 Sep 2022 13:40:25 +0000 (09:40 -0400)]
Merge pull request #11946 from AbhishekNR/debug_igmp_gm

pimd, pim6d: Changing IGMP to GM in debug macros.

2 years agopimd, pim6d: Changing IGMP to GM in debug macros.
Abhishek N R [Wed, 14 Sep 2022 06:29:33 +0000 (23:29 -0700)]
pimd, pim6d: Changing IGMP to GM in debug macros.

Changed PIM_DEBUG_IGMP_TRACE to PIM_DEBUG_GM_TRACE and
PIM_DEBUG_IGMP_TRACE_DETAIL to PIM_DEBUG_GM_TRACE_DETAIL.
Hence, these macros can be used for both v6 and v4.

Issue: #11895

Co-authored-by: Sai Gomathi N <nsaigomathi@vmware.com>
Signed-off-by: Abhishek N R <abnr@vmware.com>
2 years agopim6d: fix "show ipv6 mld interface" command
Sarita Patra [Wed, 7 Sep 2022 06:48:09 +0000 (23:48 -0700)]
pim6d: fix "show ipv6 mld interface" command

Issue:
=====
frr# show ipv6 mld
  interface   All VRFs

Fix:
===
frr# show ipv6 mld
  interface   MLD interface information

Signed-off-by: Sarita Patra <saritap@vmware.com>
2 years agoMerge pull request #11899 from opensourcerouting/feature/route_validation_extended_co...
Russ White [Tue, 13 Sep 2022 15:30:54 +0000 (11:30 -0400)]
Merge pull request #11899 from opensourcerouting/feature/route_validation_extended_community

bgpd: Implement Origin Validation State via extended communities

2 years agoMerge pull request #11926 from mjstapp/fix_bgp_io_race
Donatas Abraitis [Mon, 12 Sep 2022 16:24:18 +0000 (18:24 +0200)]
Merge pull request #11926 from mjstapp/fix_bgp_io_race

bgpd: avoid notify race between io and main pthreads

2 years agoMerge pull request #11868 from LabNConsulting/ziemba/bgp-labelpool-performance
Donald Sharp [Mon, 12 Sep 2022 14:45:43 +0000 (10:45 -0400)]
Merge pull request #11868 from LabNConsulting/ziemba/bgp-labelpool-performance

bgpd: improve labelpool performance at scale

2 years agoMerge pull request #11923 from opensourcerouting/fix/aggregate-address-matching-MED
Donald Sharp [Mon, 12 Sep 2022 14:31:01 +0000 (10:31 -0400)]
Merge pull request #11923 from opensourcerouting/fix/aggregate-address-matching-MED

bgpd: Fix aggregate-address summary-only matching-MED-only

2 years agoMerge pull request #11930 from opensourcerouting/fix/bgp_remove_private_as_test
Donald Sharp [Mon, 12 Sep 2022 13:56:59 +0000 (09:56 -0400)]
Merge pull request #11930 from opensourcerouting/fix/bgp_remove_private_as_test

tests: Validate the routes using polling for bgp_remove_private_as

2 years agoMerge pull request #11929 from opensourcerouting/fix/memory_leaks
Donald Sharp [Mon, 12 Sep 2022 13:56:01 +0000 (09:56 -0400)]
Merge pull request #11929 from opensourcerouting/fix/memory_leaks

bgpd: Fix memory leak for `set as-path replace` route-map command

2 years agoMerge pull request #11932 from opensourcerouting/fix/memory_leak_bgp_soo_ecommunity_dup
Donald Sharp [Mon, 12 Sep 2022 13:55:14 +0000 (09:55 -0400)]
Merge pull request #11932 from opensourcerouting/fix/memory_leak_bgp_soo_ecommunity_dup

bgpd: Fix memory leak for `conf_copy()` - SoO ecommunity

2 years agoMerge pull request #11928 from opensourcerouting/fix/memory_leak_bgp_soo
Donald Sharp [Mon, 12 Sep 2022 13:54:53 +0000 (09:54 -0400)]
Merge pull request #11928 from opensourcerouting/fix/memory_leak_bgp_soo

bgpd: Fix memory leak for `as-override`

2 years agoMerge pull request #11933 from opensourcerouting/fix/nits
Donald Sharp [Mon, 12 Sep 2022 13:54:07 +0000 (09:54 -0400)]
Merge pull request #11933 from opensourcerouting/fix/nits

bgpd, lib: Random cleanup

2 years agoMerge pull request #11934 from sri-mohan1/sri-eigrp-dbg1
Donald Sharp [Mon, 12 Sep 2022 13:53:31 +0000 (09:53 -0400)]
Merge pull request #11934 from sri-mohan1/sri-eigrp-dbg1

eigrpd: changes for code maintainability

2 years agoeigrpd: changes for code maintainability
sri-mohan1 [Mon, 12 Sep 2022 07:17:01 +0000 (12:47 +0530)]
eigrpd: changes for code maintainability

these changes are for improving the code maintainability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
2 years agobgpd: Thread is already done, drop useless assignment t_rmap_update to NULL
Donatas Abraitis [Tue, 6 Sep 2022 14:25:11 +0000 (17:25 +0300)]
bgpd: Thread is already done, drop useless assignment t_rmap_update to NULL

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agolib: Replace route_map_clear_updated to void
Donatas Abraitis [Tue, 6 Sep 2022 14:21:43 +0000 (17:21 +0300)]
lib: Replace route_map_clear_updated to void

Return status not used at all.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11903 from sri-mohan1/sri-bfd-dbg1
Donatas Abraitis [Sun, 11 Sep 2022 03:23:55 +0000 (05:23 +0200)]
Merge pull request #11903 from sri-mohan1/sri-bfd-dbg1

bfd: changes for code maintainability

2 years agobgpd: Fix memory leak for `conf_copy()` - SoO ecommunity
Donatas Abraitis [Fri, 9 Sep 2022 23:28:07 +0000 (02:28 +0300)]
bgpd: Fix memory leak for `conf_copy()` - SoO ecommunity

==1179738== 48 (40 direct, 8 indirect) bytes in 1 blocks are definitely lost in loss record 13 of 29
==1179738==    at 0x483AB65: calloc (vg_replace_malloc.c:760)
==1179738==    by 0x493C8D5: qcalloc (memory.c:116)
==1179738==    by 0x208F0C: ecommunity_dup (bgp_ecommunity.c:267)
==1179738==    by 0x2B300C: conf_copy (bgp_updgrp.c:170)
==1179738==    by 0x2B35BF: peer2_updgrp_copy (bgp_updgrp.c:277)
==1179738==    by 0x2B5189: update_group_find (bgp_updgrp.c:826)
==1179738==    by 0x2B70D0: update_group_adjust_peer (bgp_updgrp.c:1769)
==1179738==    by 0x23DB7D: update_group_adjust_peer_afs (bgp_updgrp.h:519)
==1179738==    by 0x243B21: bgp_establish (bgp_fsm.c:2129)
==1179738==    by 0x244B94: bgp_event_update (bgp_fsm.c:2597)
==1179738==    by 0x26B0E6: bgp_process_packet (bgp_packet.c:2895)
==1179738==    by 0x498F5FD: thread_call (thread.c:2008)
==1179738==    by 0x49253DA: frr_run (libfrr.c:1198)
==1179738==    by 0x1EEC38: main (bgp_main.c:520)

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Fix memory leak for `as-override`
Donatas Abraitis [Fri, 9 Sep 2022 21:52:17 +0000 (00:52 +0300)]
bgpd: Fix memory leak for `as-override`

==536197== 400 (160 direct, 240 indirect) bytes in 4 blocks are definitely lost in loss record 19 of 21
==536197==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==536197==    by 0x491C753: qcalloc (memory.c:116)
==536197==    by 0x303FA9: aspath_dup (bgp_aspath.c:698)
==536197==    by 0x304B2A: aspath_replace_specific_asn (bgp_aspath.c:1219)
==536197==    by 0x256840: bgp_peer_as_override (bgp_route.c:1781)
==536197==    by 0x256840: subgroup_announce_check (bgp_route.c:2216)
==536197==    by 0x258345: subgroup_process_announce_selected (bgp_route.c:2804)
==536197==    by 0x27F2CA: group_announce_route_walkcb (bgp_updgrp_adv.c:199)
==536197==    by 0x4905A51: hash_walk (hash.c:285)
==536197==    by 0x27E8D1: update_group_af_walk (bgp_updgrp.c:1866)
==536197==    by 0x2809D3: group_announce_route (bgp_updgrp_adv.c:1022)
==536197==    by 0x257DC4: bgp_process_main_one (bgp_route.c:3189)
==536197==    by 0x257DC4: bgp_process_main_one (bgp_route.c:2975)
==536197==    by 0x2581F7: bgp_process_wq (bgp_route.c:3330)
==536197==    by 0x4961787: work_queue_run (workqueue.c:285)
==536197==    by 0x4957745: thread_call (thread.c:2008)
==536197==    by 0x4910B77: frr_run (libfrr.c:1198)
==536197==    by 0x1ED6AC: main (bgp_main.c:520)

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agotests: Validate the routes using polling for bgp_remove_private_as
Donatas Abraitis [Sat, 10 Sep 2022 03:51:25 +0000 (06:51 +0300)]
tests: Validate the routes using polling for bgp_remove_private_as

Do not fail at the first shot.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agobgpd: Fix memory leak for `set as-path replace` route-map command
Donatas Abraitis [Fri, 9 Sep 2022 20:26:50 +0000 (23:26 +0300)]
bgpd: Fix memory leak for `set as-path replace` route-map command

==1174993== 252 (120 direct, 132 indirect) bytes in 3 blocks are definitely lost in loss record 77 of 100
==1174993==    at 0x483AB65: calloc (vg_replace_malloc.c:760)
==1174993==    by 0x493C8D5: qcalloc (memory.c:116)
==1174993==    by 0x378E38: aspath_dup (bgp_aspath.c:698)
==1174993==    by 0x2A39E2: route_set_aspath_replace (bgp_routemap.c:2259)
==1174993==    by 0x4965C71: route_map_apply_ext (routemap.c:2664)
==1174993==    by 0x27BCC8: bgp_input_modifier (bgp_route.c:1657)
==1174993==    by 0x281AB9: bgp_update (bgp_route.c:3992)
==1174993==    by 0x286368: bgp_nlri_parse_ip (bgp_route.c:5890)
==1174993==    by 0x264D20: bgp_nlri_parse (bgp_packet.c:347)
==1174993==    by 0x2682FE: bgp_update_receive (bgp_packet.c:1921)
==1174993==    by 0x26AA67: bgp_process_packet (bgp_packet.c:2822)
==1174993==    by 0x498F5FD: thread_call (thread.c:2008)
==1174993==    by 0x49253DA: frr_run (libfrr.c:1198)
==1174993==    by 0x1EEC38: main (bgp_main.c:520)

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 years agoMerge pull request #11922 from anlancs/fix/zebra-broken-evpn
Donald Sharp [Fri, 9 Sep 2022 11:58:29 +0000 (07:58 -0400)]
Merge pull request #11922 from anlancs/fix/zebra-broken-evpn

zebra: fix broken evpn

2 years agoMerge pull request #11909 from opensourcerouting/fix/a_couple_nits
Donald Sharp [Fri, 9 Sep 2022 11:55:13 +0000 (07:55 -0400)]
Merge pull request #11909 from opensourcerouting/fix/a_couple_nits

bgpd: bgp_dest_unlock_node fixes

2 years agobgpd: avoid notify race between io and main pthreads
Mark Stapp [Thu, 8 Sep 2022 20:14:36 +0000 (16:14 -0400)]
bgpd: avoid notify race between io and main pthreads

The "bgp_notify_" apis in bgp_packet.c generate a notification
to a peer, usually during error handling. The io pthread wants
to send notifications in a couple of cases during early
received-packet validation - but the existing api interacts
with the peer struct itself, and that's not safe.

Add a new api for use by the io pthread, and adjust the main
notify api so that it can avoid touching the peer struct.

Signed-off-by: Mark Stapp <mstapp@nvidia.com>
2 years agoMerge pull request #11896 from AbhishekNR/issue_11891
Donatas Abraitis [Thu, 8 Sep 2022 14:35:44 +0000 (16:35 +0200)]
Merge pull request #11896 from AbhishekNR/issue_11891

pim6d: Adding additional details for "show ipv6 mld interface [ifname] json" command.

2 years agoMerge pull request #11887 from SaiGomathiN/igmptogm
Donatas Abraitis [Thu, 8 Sep 2022 14:34:26 +0000 (16:34 +0200)]
Merge pull request #11887 from SaiGomathiN/igmptogm

pimd, pim6d: Changing IGMP to GM in debug macros

2 years agozebra: fix broken evpn
anlan_cs [Tue, 6 Sep 2022 05:34:11 +0000 (01:34 -0400)]
zebra: fix broken evpn

To resolve link dependencies of unordered interfaces, the commit
`520ebf72b27c2462ce8b0dc5a1d4cb83956df69c` has separated assignment of
`zif->link_ifindex` and `zif->link` from `netlink_interface()` during startup.
The fixup stage of `zebra_if_update_all_links()` goes into the last of
`interface_lookup_netlink()`, it can't be executed in the case of error in
above `netlink_parse_info()`s.

`RTM_GETTUNNEL` is not supported in linux kernel until 5.18, so
`netlink_parse_info()` will throw error with the previous versions.

If two conditions are met, (it is a common case)
1. Interfaces are created before frr restart/start
2. Linux kernel version < 5.18

the link dependencies will not be done, then evpn feature will be broken.
IMO we should just ignore this error.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
2 years agoMerge pull request #11913 from mjstapp/fix_rcu_bgp_keepalive
Jafar Al-Gharaibeh [Thu, 8 Sep 2022 05:22:28 +0000 (00:22 -0500)]
Merge pull request #11913 from mjstapp/fix_rcu_bgp_keepalive

bgpd: release rcu lock in bgp keepalive pthread

2 years agoMerge pull request #11915 from opensourcerouting/topotests-collect
Donald Sharp [Wed, 7 Sep 2022 16:59:26 +0000 (12:59 -0400)]
Merge pull request #11915 from opensourcerouting/topotests-collect

topotests: ignore env for pytest --collect-only

2 years agoMerge pull request #11916 from leonshaw/fix/conf-vrf-netns
Donald Sharp [Wed, 7 Sep 2022 16:58:39 +0000 (12:58 -0400)]
Merge pull request #11916 from leonshaw/fix/conf-vrf-netns

zebra: Reconfiguring netns for vrf is not a failure

2 years agoMerge pull request #11914 from anlancs/fix/cleanup-lib-name
Donald Sharp [Wed, 7 Sep 2022 16:54:38 +0000 (12:54 -0400)]
Merge pull request #11914 from anlancs/fix/cleanup-lib-name

lib: replace one path with macro