Browse code

dispatcher: Not possible to deactivate probing of destination by reload

If ds_probing_mode is set to 3, flag in the dispatcher entry needs to include 8
for probing to happen.

Changing a destination to not include this anymore while the destination do
not respond to OPTIONS will cause the probing flag to be re-added because of the
delayed response. A restart will fix it.

We need to check against the probing flag in the CB function to determine if
we should continue probing this destination. If probing is deativated while
waiting for a reply, we should abort.

Morten Tryfoss authored on 27/11/2021 20:14:41
Showing 1 changed files
... ...
@@ -3529,6 +3529,11 @@ static void ds_options_callback(
3529 3529
 		}
3530 3530
 	}
3531 3531
 
3532
+	/* Check if in the meantime someone disabled probing of the target through RPC, MI or reload */
3533
+	if(ds_probing_mode == DS_PROBE_ONLYFLAGGED && !(ds_get_state(group, &uri) & DS_PROBING_DST)) {
3534
+		return;
3535
+	}
3536
+
3532 3537
 	/* ps->code contains the result-code of the request.
3533 3538
 	 *
3534 3539
 	 * We accept both a "200 OK" or the configured reply as a valid response */