]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
minor cleanups
authorAlan T. DeKok <aland@freeradius.org>
Fri, 10 Mar 2023 15:38:54 +0000 (10:38 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 10 Mar 2023 22:16:56 +0000 (17:16 -0500)
src/listen/bfd/proto_bfd.c
src/listen/bfd/session.c

index 4b8de32b8c87dab7ed0308919f141e56f8b0915a..a096e3715d635b0fac541edd4f7b4ea985323a54 100644 (file)
@@ -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);
index eb4107b6a186597c9eba8134e6a5e847de7f5fac..0f8455ccb7cc5a5bb1ee5240da3c556969f3f472 100644 (file)
@@ -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 <timeout> -> 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));
        }