frr icon indicating copy to clipboard operation
frr copied to clipboard

ospfd:reset wait timer when reading ip ospf dead-interval

Open Shbinging opened this issue 1 year ago • 17 comments

The fix addressed the issue found at https://github.com/FRRouting/frr/issues/16905. In the fix, after reconfiguring the dead-interval, the waitTimer, like the helloTimer, will refresh immediately.

In the current OSPF implementation, after configuring the ip ospf dead-interval, the waitTimer does not refresh immediately but waits for the waitTimer to expire before being reconfigured.

In issue 16905, when we configure the waitTimer to a very large value and then clear the OSPF process using clear ip ospf process, the waitTimer is forcibly reset and will wait for this large value until it expires.At this point, configuring a very small value for the dead-interval will not take effect immediately, which results in having to wait a long time. It appears as though the state is stuck.Therefore, if the configured dead-interval is large, we have to use clear ip ospf process each time to refresh the waitTimer.

Shbinging avatar Sep 29 '24 07:09 Shbinging

Please fix Verify Source (check) issues.

ok

Shbinging avatar Oct 11 '24 09:10 Shbinging

@aceelindem is it good now?

ton31337 avatar Oct 25 '24 05:10 ton31337

I think we're waiting on blocking changes from @aceelindem ?

riw777 avatar Nov 05 '24 14:11 riw777

failures in pim ... rerunning to see if we can clear these

riw777 avatar Nov 12 '24 13:11 riw777

still failing in pim ... might need to be rebased?

riw777 avatar Dec 17 '24 16:12 riw777

@Mergifyio rebase

riw777 avatar Dec 17 '24 16:12 riw777

rebase

✅ Branch has been successfully rebased

mergify[bot] avatar Dec 17 '24 16:12 mergify[bot]

looks like we have a new crash that needs to be resolved:


CORE FOUND: r2: ospfd crashed: see log for backtrace and more```

riw777 avatar Jan 07 '25 13:01 riw777

hmmm... current failure seems unrelated, let's try again ... ci:rerun

riw777 avatar Jan 28 '25 15:01 riw777

still seeing cores with this ... I don't know that it's related, but ... :-(

riw777 avatar Feb 04 '25 14:02 riw777

@Mergifyio rebase

let's try rebasing to see if we can clear this core ...

riw777 avatar Feb 04 '25 14:02 riw777

rebase

✅ Branch has been successfully rebased

mergify[bot] avatar Feb 04 '25 14:02 mergify[bot]

multicast_pim_dr_nondr_test/test_pim_dr_nondr_with_transit_router_topo3.py::test_mroute_when_transit_router_present_between_rp_and_source_dr_p1

So not related ... I'll keep retrying to see if we can get a clean run

riw777 avatar Feb 04 '25 16:02 riw777

still getting cores, so ... :-(

E Failed: New core[s] found: /tmp/topotests/ospf_basic_functionality.test_ospf_single_area/r1/ospfd_core-sig_11-pid_707.dmp, /tmp/topotests/ospf_basic_functionality.test_ospf_single_area/r0/ospfd_core-sig_11-pid_599.dmp

riw777 avatar Feb 04 '25 20:02 riw777

@Mergifyio rebase still trying to clear this crash ...

riw777 avatar Apr 08 '25 13:04 riw777

rebase

✅ Branch has been successfully rebased

mergify[bot] avatar Apr 08 '25 13:04 mergify[bot]

@Mergifyio rebase

riw777 avatar Jun 17 '25 13:06 riw777

rebase

✅ Branch has been successfully rebased

mergify[bot] avatar Jun 17 '25 13:06 mergify[bot]

Failing to build?

-- | --
08-Jul-2025 12:55:38 | ospfd/ospf_vty.c:8103:33: error: implicit declaration of function ‘EVENT_OFF’; did you mean ‘EVENT_FD’? [-Werror=implicit-function-declaration]
08-Jul-2025 12:55:38 | 8103 \|                                 EVENT_OFF(oi->t_wait);
08-Jul-2025 12:55:38 | \|                                 ^~~~~~~~~
08-Jul-2025 12:55:38 | \|                                 EVENT_FD

trying to rebuild to see if we can clear this

riw777 avatar Jul 15 '25 12:07 riw777

ci:rerun

riw777 avatar Jul 22 '25 12:07 riw777

I think these need to be fixed before it will build ...

     EVENT_OFF(oi->t_wait);
     ^~~~~~~~~
     EVENT_FD
  CC       ospf6d/ospf6_nssa.o
cc1: all warnings being treated as errors
  CC       ospf6d/ospf6_area.o
make[1]: *** [Makefile:10968: ospfd/ospf_vty.o] Error 1
  CC       ospf6d/ospf6_asbr.o
  CC       ospf6d/ospf6_gr.o
  CC       ospf6d/ospf6_gr_helper.o
  CC       ospf6d/ospf6_interface.o
  CC       ospf6d/ospf6_lsa.o
  CC       ospf6d/ospf6_neighbor.o
  CC       ospf6d/ospf6_route.o
ospf6d/ospf6_route.c: In function ‘ospf6_route_show’:
ospf6d/ospf6_route.c:1173:3: warning: ‘json_object_object_get’ is deprecated [-Wdeprecated-declarations]
   json_routes_array = json_object_object_get(json_routes, destination);
   ^~~~~~~~~~~~~~~~~
In file included from /usr/include/json-c/linkhash.h:16,
                 from /usr/include/json-c/json.h:22,
                 from ./lib/json.h:15,
                 from ospf6d/ospf6_lsa.h:9,
                 from ospf6d/ospf6_route.c:17:
/usr/include/json-c/json_object.h:290:1: note: declared here
 THIS_FUNCTION_IS_DEPRECATED(extern struct json_object* json_object_object_get(struct json_object* obj,
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
ospf6d/ospf6_route.c: In function ‘ospf6_route_show_detail’:
ospf6d/ospf6_route.c:1372:3: warning: ‘json_object_object_get’ is deprecated [-Wdeprecated-declarations]
   json_routes_array = json_object_object_get(json_routes, destination);
   ^~~~~~~~~~~~~~~~~
In file included from /usr/include/json-c/linkhash.h:16,
                 from /usr/include/json-c/json.h:22,
                 from ./lib/json.h:15,
                 from ospf6d/ospf6_lsa.h:9,
                 from ospf6d/ospf6_route.c:17:
/usr/include/json-c/json_object.h:290:1: note: declared here
 THIS_FUNCTION_IS_DEPRECATED(extern struct json_object* json_object_object_get(struct json_object* obj,```

riw777 avatar Jul 29 '25 12:07 riw777

The deprecated json call really needs to be fixed before we can merge this.

riw777 avatar Sep 02 '25 14:09 riw777

This pull request has conflicts, please resolve those before we can evaluate the pull request.

github-actions[bot] avatar Nov 05 '25 14:11 github-actions[bot]