#undef IFACE_STATS
}
+static bool
+enable_system_stats(const struct ovsrec_open_vswitch *cfg)
+{
+ const char *enable;
+
+ /* Use other-config:enable-system-stats by preference. */
+ enable = get_ovsrec_key_value(&cfg->header_,
+ &ovsrec_open_vswitch_col_other_config,
+ "enable-statistics");
+ if (enable) {
+ return !strcmp(enable, "true");
+ }
+
+ /* Disable by default. */
+ return false;
+}
+
static void
refresh_system_stats(const struct ovsrec_open_vswitch *cfg)
{
struct shash stats;
shash_init(&stats);
- get_system_stats(&stats);
+ if (enable_system_stats(cfg)) {
+ get_system_stats(&stats);
+ }
ovsdb_datum_from_shash(&datum, &stats);
ovsdb_idl_txn_write(&cfg->header_, &ovsrec_open_vswitch_col_statistics,
{"name": "Open_vSwitch",
- "version": "5.0.1",
- "cksum": "246745439 14434",
+ "version": "5.1.0",
+ "cksum": "154459795 14545",
"tables": {
"Open_vSwitch": {
"columns": {
"type": {"key": {"type": "uuid",
"refTable": "SSL"},
"min": 0, "max": 1}},
+ "other_config": {
+ "type": {"key": "string", "value": "string", "min": 0, "max": "unlimited"}},
"external_ids": {
"type": {"key": "string", "value": "string",
"min": 0, "max": "unlimited"}},
SSL used globally by the daemon.
</column>
+ <column name="other_config">
+ Key-value pairs for configuring rarely used Open vSwitch features. The
+ currently defined key-value pairs are:
+ <dl>
+ <dt><code>enable-statistics</code></dt>
+ <dd>
+ Set to <code>true</code> to enable populating the <ref
+ column="statistics"/> column or <code>false</code> (the default)
+ disable populating it.
+ </dd>
+ </dl>
+ </column>
+
<column name="external_ids">
Key-value pairs for use by external frameworks that integrate
with Open vSwitch, rather than by Open vSwitch itself. System
apply to a platform are omitted.
</p>
+ <p>
+ Statistics are disabled unless <ref column="other-config"
+ key="enable-statistics"/> is set to <code>true</code>.
+ </p>
+
<dl>
<dt><code>cpu</code></dt>
<dd>