Suggested by Justin Pettit.
* always exists, other ports may be %NULL.
* @port_list: List of all ports in @ports in arbitrary order.
* @stats_percpu: Per-CPU datapath statistics.
- * @sflow_probability: Probability of sampling a packet to the %ODPL_SFLOW
- * queue, where 0 means never sample, UINT_MAX means always sample, and
- * other values are intermediate probabilities.
+ * @sflow_probability: Number of packets out of UINT_MAX to sample to the
+ * %ODPL_SFLOW queue, e.g. (@sflow_probability/UINT_MAX) is the probability of
+ * sampling a given packet.
*/
struct datapath {
struct mutex mutex;
/*
- * Copyright (c) 2009 Nicira Networks.
+ * Copyright (c) 2009, 2010 Nicira Networks.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* Return value is 0 or a positive errno value. EOPNOTSUPP indicates that
* the datapath does not support sFlow, as does a null pointer.
*
- * A probability of 0 means sample no packets, UINT32_MAX means sample
- * every packet, and other values are intermediate probabilities. */
+ * '*probability' is expressed as the number of packets out of UINT_MAX to
+ * sample, e.g. probability/UINT_MAX is the probability of sampling a given
+ * packet. */
int (*get_sflow_probability)(const struct dpif *dpif,
uint32_t *probability);
* is 0 or a positive errno value. EOPNOTSUPP indicates that the datapath
* does not support sFlow, as does a null pointer.
*
- * A probability of 0 means sample no packets, UINT32_MAX means sample
- * every packet, and other values are intermediate probabilities. */
+ * 'probability' is expressed as the number of packets out of UINT_MAX to
+ * sample, e.g. probability/UINT_MAX is the probability of sampling a given
+ * packet. */
int (*set_sflow_probability)(struct dpif *dpif, uint32_t probability);
/* Attempts to receive a message from 'dpif'. If successful, stores the
return error;
}
-/* Retrieve the sFlow sampling probability. A probability of 0 means sample no
- * packets, UINT32_MAX means sample every packet, and other values are
- * intermediate probabilities.
+/* Retrieve the sFlow sampling probability. '*probability' is expressed as the
+ * number of packets out of UINT_MAX to sample, e.g. probability/UINT_MAX is
+ * the probability of sampling a given packet.
*
* Returns 0 if successful, otherwise a positive errno value. EOPNOTSUPP
* indicates that 'dpif' does not support sFlow sampling. */
return error;
}
-/* Set the sFlow sampling probability. A probability of 0 means sample no
- * packets, UINT32_MAX means sample every packet, and other values are
- * intermediate probabilities.
+/* Set the sFlow sampling probability. 'probability' is expressed as the
+ * number of packets out of UINT_MAX to sample, e.g. probability/UINT_MAX is
+ * the probability of sampling a given packet.
*
* Returns 0 if successful, otherwise a positive errno value. EOPNOTSUPP
* indicates that 'dpif' does not support sFlow sampling. */