projects
/
openvswitch
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ofp-util: New function for parsing key-value pairs.
[openvswitch]
/
ovsdb
/
table.h
diff --git
a/ovsdb/table.h
b/ovsdb/table.h
index 8e933438613561f6a9a99d8f0962b6f17922c776..a2f2aa84e39154a1b49fb16ba7c8c235776a499a 100644
(file)
--- a/
ovsdb/table.h
+++ b/
ovsdb/table.h
@@
-31,6
+31,8
@@
struct ovsdb_table_schema {
struct shash columns; /* Contains "struct ovsdb_column *"s. */
unsigned int max_rows; /* Maximum number of rows. */
bool is_root; /* Part of garbage collection root set? */
struct shash columns; /* Contains "struct ovsdb_column *"s. */
unsigned int max_rows; /* Maximum number of rows. */
bool is_root; /* Part of garbage collection root set? */
+ struct ovsdb_column_set *indexes;
+ size_t n_indexes;
};
struct ovsdb_table_schema *ovsdb_table_schema_create(
};
struct ovsdb_table_schema *ovsdb_table_schema_create(
@@
-55,6
+57,11
@@
struct ovsdb_table {
struct ovsdb_table_schema *schema;
struct ovsdb_txn_table *txn_table; /* Only if table is in a transaction. */
struct hmap rows; /* Contains "struct ovsdb_row"s. */
struct ovsdb_table_schema *schema;
struct ovsdb_txn_table *txn_table; /* Only if table is in a transaction. */
struct hmap rows; /* Contains "struct ovsdb_row"s. */
+
+ /* An array of schema->n_indexes hmaps, each of which contains "struct
+ * ovsdb_row"s. Each of the hmap_nodes in indexes[i] are at index 'i' at
+ * the end of struct ovsdb_row, following the 'fields' member. */
+ struct hmap *indexes;
};
struct ovsdb_table *ovsdb_table_create(struct ovsdb_table_schema *);
};
struct ovsdb_table *ovsdb_table_create(struct ovsdb_table_schema *);