aboutsummaryrefslogtreecommitdiff
path: root/lib/ovsdb-idl-provider.h
AgeCommit message (Collapse)Author
2012-09-05ovsdb: Enforce immutability of immutable columns.Ben Pfaff
OVSDB has always had the ability to mark a column as "immutable", so that its value cannot be changed in a given row after that row is initially inserted. However, we discovered recently that ovsdb-server has never enforced this constraint. This commit implements enforcement. Reported-by: Paul Ingram <paul@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Kyle Mestery <kmestery@cisco.com>
2012-06-14lib: Utilize smaps in the idl.Ethan Jackson
String to string maps are used all over the Open vSwitch database. Before this patch, they were implemented in the idl as parallel string arrays. This strategy has proven a bit cumbersome. With this patch, string to string maps are implemented using the smap library. Signed-off-by: Ethan Jackson <ethan@nicira.com>
2012-05-02Global replace of Nicira Networks.Raju Subramanian
Replaced all instances of Nicira Networks(, Inc) to Nicira, Inc. Feature #10593 Signed-off-by: Raju Subramanian <rsubramanian@nicira.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
2011-03-10ovsdb: Implement garbage collection.Ben Pfaff
2010-11-16ovsdb-idl: Make selecting tables and columns to replicate more flexible.Ben Pfaff
Until now, by default the IDL replicated all tables and all columns in the database, and a few functions made it possible to avoid replicating selected columns. This commit adds a mode in which nothing is replicated by default and the client code is responsible for specifying each column and table that it is interested in. The following commit adds a user for this mode.
2010-08-11ovsdb-idl: Make it possible to omit or pay less attention to columns.Ben Pfaff
ovs-vswitchd has no need to replicate some parts of the database. In particular, it doesn't need to replicate the bits that it never reads, such as the external_ids column in the Open_vSwitch table. This saves some memory, CPU time, and bandwidth to the database. Another type of column that benefits from special treatment is "write-only columns", that is, those that ovs-vswitchd writes and keeps up-to-date but never expects another client to write, such as the cur_cfg column in the Open_vSwitch table. If the IDL reports that the database has changed when ovs-vswitchd updates such a column, then ovs-vswitchd reconfigures itself for no reason, wasting CPU time. This commit also adds support for such columns.
2010-02-09ovsdb: Add support for multiple databases to the protocol.Ben Pfaff
This also adds protocol compatibility to the database itself and to ovsdb-client. It doesn't actually add multiple database support to ovsdb-server, since we don't really need that yet.
2010-01-27ovsdb-idl: Export ovsdb_idl_txn_delete() and ovsdb_idl_txn_insert().Ben Pfaff
ovs-vsctl wants to use these functions directly, so make them available through the ovsdb-idl public header instead of only through the private one. Also, change the prototypes to make them usable without casts.
2010-01-26ovsdb-idl: Allow clients to modify records without using structs.Ben Pfaff
The IDL is intended to allow clients easier access to data in the database by providing an extra layer of abstraction. However, ovs-vsctl needs to also provide generic access to database tables, rows, and columns, and until now the IDL has not allowed this. In particular, there was no way to modify the value of a database column by providing a "struct ovsdb_datum" with the new value and then have that reflected in the IDL structs, although the other direction was possible. This commit fixes that problem, which requires a bit of refactoring of the IDL layer. It also exposes the interface for iterating through table records to clients directly, by moving it from the "private" IDL header to the public one.
2009-12-08ovsdb-idl: New function to obtain the current transaction from any row.Ben Pfaff
2009-12-07ovsdb-idl: Make it possible to write data through the IDL.Ben Pfaff
Until now the IDL has been exclusively a read-only interface. This commit introduces a general-purpose interface for writing to ovsdb via the IDL.
2009-12-02ovsdb: Implement C bindings for IDL.Ben Pfaff