From: Alan T. DeKok Date: Fri, 10 Mar 2023 15:38:54 +0000 (-0500) Subject: minor cleanups X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9cd10af613f12e4ddec640393dfce9fb04a745e4;p=thirdparty%2Ffreeradius-server.git minor cleanups --- diff --git a/src/listen/bfd/proto_bfd.c b/src/listen/bfd/proto_bfd.c index 4b8de32b8c8..a096e3715d6 100644 --- a/src/listen/bfd/proto_bfd.c +++ b/src/listen/bfd/proto_bfd.c @@ -467,10 +467,10 @@ static int mod_bootstrap(module_inst_ctx_t const *mctx) peer = (proto_bfd_peer_t *) c; - FR_TIME_DELTA_BOUND_CHECK("peer.min_transmit_interval", peer->desired_min_tx_interval, >=, fr_time_delta_from_usec(30)); + FR_TIME_DELTA_BOUND_CHECK("peer.min_transmit_interval", peer->desired_min_tx_interval, >=, fr_time_delta_from_usec(32)); FR_TIME_DELTA_BOUND_CHECK("peer.min_transmit_interval", peer->desired_min_tx_interval, <=, fr_time_delta_from_sec(2)); - FR_TIME_DELTA_BOUND_CHECK("peer.min_recieve_interval", peer->required_min_rx_interval, >=, fr_time_delta_from_usec(30)); + FR_TIME_DELTA_BOUND_CHECK("peer.min_recieve_interval", peer->required_min_rx_interval, >=, fr_time_delta_from_usec(32)); FR_TIME_DELTA_BOUND_CHECK("peer.min_received_interval", peer->required_min_rx_interval, <=, fr_time_delta_from_sec(2)); FR_INTEGER_BOUND_CHECK("peer.max_timeouts", peer->detect_multi, >=, 1); diff --git a/src/listen/bfd/session.c b/src/listen/bfd/session.c index eb4107b6a18..0f8455ccb7c 100644 --- a/src/listen/bfd/session.c +++ b/src/listen/bfd/session.c @@ -343,11 +343,7 @@ int bfd_session_process(proto_bfd_peer_t *session, bfd_packet_t *bfd) bfd_start_control(session); } - if (!state_change) return 0; - - // @todo - send the packet through a "recv foo" section? - - return 1; + return state_change; } @@ -706,6 +702,12 @@ static void bfd_start_packets(proto_bfd_peer_t *session) interval = fr_time_delta_unwrap(session->desired_min_tx_interval); } else { interval = fr_time_delta_unwrap(session->remote_min_rx_interval); + + /* + * The other end doesn't want to receive control packets. So we stop sending them. + */ + if (!interval) return; + } base = (interval * 3) / 4; jitter = fr_rand(); /* 32-bit number */ @@ -811,7 +813,7 @@ static void bfd_detection_timeout(UNUSED fr_event_list_t *el, fr_time_t now, voi DEBUG("BFD %s State -> DOWN (control expired)", session->client.shortname); session->session_state = BFD_STATE_DOWN; session->local_diag = BFD_CTRL_EXPIRED; - bfd_trigger(session); + bfd_trigger(session); /* @todo - send timeout state change to unlang */ bfd_set_desired_min_tx_interval(session, fr_time_delta_from_sec(1)); }