AT_CHECK([RUN_OVS_VSCTL([create b name=br0])],
[0], [stdout], [], [OVS_VSCTL_CLEANUP])
cp stdout out1
-AT_CHECK([RUN_OVS_VSCTL([list b])],
+AT_CHECK([RUN_OVS_VSCTL([list b], [get b br0 _uuid])],
[0], [stdout], [], [OVS_VSCTL_CLEANUP])
cp stdout out2
AT_CHECK([perl $srcdir/uuidfilt.pl out1 out2], [0],
other_config : {}
ports : []
sflow : []
+<0>
]], [ignore], [test ! -e pid || kill `cat pid`])
AT_CHECK(
[RUN_OVS_VSCTL(
struct ovsdb_datum datum;
char *key_string;
+ /* Special case for obtaining the UUID of a row. We can't just do this
+ * through parse_column_key_value() below since it returns a "struct
+ * ovsdb_idl_column" and the UUID column doesn't have one. */
+ if (!strcasecmp(ctx->argv[i], "_uuid")
+ || !strcasecmp(ctx->argv[i], "-uuid")) {
+ ds_put_format(out, UUID_FMT"\n", UUID_ARGS(&row->uuid));
+ continue;
+ }
+
die_if_error(parse_column_key_value(ctx->argv[i], table,
&column, &key_string, NULL));