[ovs-dev] What should be the behavior of ovsdb_idl_add_table()?

Aymerich, Edward edward.aymerich at hpe.com
Tue Nov 24 17:08:38 UTC 2015


I was under the impression that ovsdb_idl_add_table() should replicate and monitor all columns of the given table, so I don't
have to add each column individually.  But this is not working for me.

Let's say that I have a table called 'Test', and this table has columns 'colA', 'colB' and 'colC'. If I call

ovsdb_idl_add_column(*idl, 'colA');
ovsdb_idl_add_column(*idl, 'colC');

Then just 'colA' and 'colC' are replicated, as it should be. But when I call

ovsdb_idl_add_table(*idl, 'Test');

then no column is replicated. If I want to monitor the whole table, I have to do:

ovsdb_idl_add_table(*idl, 'Test');
ovsdb_idl_add_column(*idl, 'colA');
ovsdb_idl_add_column(*idl, 'colB');
ovsdb_idl_add_column(*idl, 'colC');

and in this case the call to ovsdb_idl_add_table() is totally useless, as the code behavior is exactly the same if I remove it.

The python equivalent to ovsdb_idl_add_table(), SchemaHelper.register_table(), does replicate and monitor all columns of the table.

Should ovsdb_idl_add_table() behave as register_table(), or is there a reason why it seems to do nothing?


Edward Aymerich
Networking Software Engineer

edward.aymerich at hpe.com

Building 8, Ultra Park
Heredia, Costa Rica
hpe.com

[HPE logo]<http://www.hpe.com/>




More information about the dev mailing list