From a68813c3dce6597c302c1d112f88b8020c4d2eba Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Mon, 11 Jan 2010 11:09:14 -0800 Subject: [PATCH] sflow: Avoid division by zero if sampling rate is 0. Reported by Justin Pettit. --- ofproto/ofproto-sflow.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ofproto/ofproto-sflow.c b/ofproto/ofproto-sflow.c index 45c6c08a..1815dd9d 100644 --- a/ofproto/ofproto-sflow.c +++ b/ofproto/ofproto-sflow.c @@ -359,6 +359,13 @@ ofproto_sflow_set_options(struct ofproto_sflow *os, time_t now; int error; + if (!options->targets.n || !options->sampling_rate) { + /* No point in doing any work if there are no targets or nothing to + * sample. */ + ofproto_sflow_clear(os); + return; + } + options_changed = (!os->options || !ofproto_sflow_options_equal(options, os->options)); @@ -371,7 +378,8 @@ ofproto_sflow_set_options(struct ofproto_sflow *os, error = collectors_create(&options->targets, SFL_DEFAULT_COLLECTOR_PORT, &os->collectors); if (os->collectors == NULL) { - VLOG_WARN_RL(&rl, "no configured collectors, sFlow disabled"); + VLOG_WARN_RL(&rl, "no collectors could be initialized, " + "sFlow disabled"); ofproto_sflow_clear(os); return; } -- 2.30.2