Coverage Report

Created: 2025-07-11 06:11

/src/openvswitch/lib/vswitch-idl.h
Line
Count
Source (jump to first uncovered line)
1
/* Generated automatically -- do not modify!    -*- buffer-read-only: t -*- */
2
3
#ifndef OVSREC_IDL_HEADER
4
#define OVSREC_IDL_HEADER 1
5
6
#include <stdbool.h>
7
#include <stddef.h>
8
#include <stdint.h>
9
#include "openvswitch/json.h"
10
#include "ovsdb-data.h"
11
#include "ovsdb-idl-provider.h"
12
#include "smap.h"
13
#include "uuid.h"
14
15
#ifdef  __cplusplus
16
extern "C" {
17
#endif
18
19
struct ovsdb_type;
20
21

22
/* AutoAttach table. */
23
struct ovsrec_autoattach {
24
  struct ovsdb_idl_row header_;
25
26
  /* mappings column. */
27
  int64_t *key_mappings;
28
  int64_t *value_mappings;
29
  size_t n_mappings;
30
31
  /* system_description column. */
32
  char *system_description; /* Always nonnull. */
33
34
  /* system_name column. */
35
  char *system_name;  /* Always nonnull. */
36
};
37
38
enum ovsrec_autoattach_column_id {
39
    OVSREC_AUTOATTACH_COL_MAPPINGS,
40
    OVSREC_AUTOATTACH_COL_SYSTEM_DESCRIPTION,
41
    OVSREC_AUTOATTACH_COL_SYSTEM_NAME,
42
    OVSREC_AUTOATTACH_N_COLUMNS
43
};
44
45
0
#define ovsrec_autoattach_col_mappings (ovsrec_autoattach_columns[OVSREC_AUTOATTACH_COL_MAPPINGS])
46
0
#define ovsrec_autoattach_col_system_description (ovsrec_autoattach_columns[OVSREC_AUTOATTACH_COL_SYSTEM_DESCRIPTION])
47
0
#define ovsrec_autoattach_col_system_name (ovsrec_autoattach_columns[OVSREC_AUTOATTACH_COL_SYSTEM_NAME])
48
49
extern struct ovsdb_idl_column ovsrec_autoattach_columns[OVSREC_AUTOATTACH_N_COLUMNS];
50
bool ovsrec_server_has_autoattach_table_col_mappings(const struct ovsdb_idl *); 
51
const struct ovsdb_type *ovsrec_autoattach_mappings_server_type(const struct ovsdb_idl *); 
52
bool ovsrec_server_has_autoattach_table_col_system_description(const struct ovsdb_idl *); 
53
const struct ovsdb_type *ovsrec_autoattach_system_description_server_type(const struct ovsdb_idl *); 
54
bool ovsrec_server_has_autoattach_table_col_system_name(const struct ovsdb_idl *); 
55
const struct ovsdb_type *ovsrec_autoattach_system_name_server_type(const struct ovsdb_idl *); 
56
57
bool ovsrec_server_has_autoattach_table(const struct ovsdb_idl *);
58
const struct ovsrec_autoattach_table *ovsrec_autoattach_table_get(const struct ovsdb_idl *);
59
const struct ovsrec_autoattach *ovsrec_autoattach_table_first(const struct ovsrec_autoattach_table *);
60
61
#define OVSREC_AUTOATTACH_TABLE_FOR_EACH(ROW, TABLE) \
62
        for ((ROW) = ovsrec_autoattach_table_first(TABLE); \
63
             (ROW); \
64
             (ROW) = ovsrec_autoattach_next(ROW))
65
#define OVSREC_AUTOATTACH_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
66
        for ((ROW) = ovsrec_autoattach_table_first(TABLE); \
67
             (ROW) ? ((NEXT) = ovsrec_autoattach_next(ROW), 1) : 0; \
68
             (ROW) = (NEXT))
69
#define OVSREC_AUTOATTACH_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
70
        for (const struct ovsrec_autoattach * ROW__next = ((ROW) = ovsrec_autoattach_table_first(TABLE), NULL); \
71
             (ROW) ? (ROW__next = ovsrec_autoattach_next(ROW), 1) : (ROW__next = NULL, 0); \
72
             (ROW) = ROW__next)
73
#define OVSREC_AUTOATTACH_TABLE_FOR_EACH_SAFE(...)                                        \
74
        OVERLOAD_SAFE_MACRO(OVSREC_AUTOATTACH_TABLE_FOR_EACH_SAFE_LONG,                   \
75
                            OVSREC_AUTOATTACH_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
76
77
78
const struct ovsrec_autoattach *ovsrec_autoattach_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
79
const struct ovsrec_autoattach *ovsrec_autoattach_table_get_for_uuid(const struct ovsrec_autoattach_table *, const struct uuid *);
80
const struct ovsrec_autoattach *ovsrec_autoattach_first(const struct ovsdb_idl *);
81
const struct ovsrec_autoattach *ovsrec_autoattach_next(const struct ovsrec_autoattach *);
82
#define OVSREC_AUTOATTACH_FOR_EACH(ROW, IDL) \
83
        for ((ROW) = ovsrec_autoattach_first(IDL); \
84
             (ROW); \
85
             (ROW) = ovsrec_autoattach_next(ROW))
86
#define OVSREC_AUTOATTACH_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
87
        for ((ROW) = ovsrec_autoattach_first(IDL); \
88
             (ROW) ? ((NEXT) = ovsrec_autoattach_next(ROW), 1) : 0; \
89
             (ROW) = (NEXT))
90
#define OVSREC_AUTOATTACH_FOR_EACH_SAFE_SHORT(ROW, IDL) \
91
        for (const struct ovsrec_autoattach * ROW__next = ((ROW) = ovsrec_autoattach_first(IDL), NULL); \
92
             (ROW) ? (ROW__next = ovsrec_autoattach_next(ROW), 1) : (ROW__next = NULL, 0); \
93
             (ROW) = ROW__next)
94
#define OVSREC_AUTOATTACH_FOR_EACH_SAFE(...)                                         \
95
        OVERLOAD_SAFE_MACRO(OVSREC_AUTOATTACH_FOR_EACH_SAFE_LONG,                    \
96
                            OVSREC_AUTOATTACH_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
97
98
unsigned int ovsrec_autoattach_get_seqno(const struct ovsdb_idl *);
99
unsigned int ovsrec_autoattach_row_get_seqno(const struct ovsrec_autoattach *row, enum ovsdb_idl_change change);
100
const struct ovsrec_autoattach *ovsrec_autoattach_track_get_first(const struct ovsdb_idl *);
101
const struct ovsrec_autoattach *ovsrec_autoattach_track_get_next(const struct ovsrec_autoattach *);
102
#define OVSREC_AUTOATTACH_FOR_EACH_TRACKED(ROW, IDL) \
103
        for ((ROW) = ovsrec_autoattach_track_get_first(IDL); \
104
             (ROW); \
105
             (ROW) = ovsrec_autoattach_track_get_next(ROW))
106
107
const struct ovsrec_autoattach *ovsrec_autoattach_table_track_get_first(const struct ovsrec_autoattach_table *);
108
#define OVSREC_AUTOATTACH_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
109
        for ((ROW) = ovsrec_autoattach_table_track_get_first(TABLE); \
110
             (ROW); \
111
             (ROW) = ovsrec_autoattach_track_get_next(ROW))
112
113
114
/* Returns true if 'row' was inserted since the last change tracking reset.
115
 *
116
 * Note: This can only be used to test rows of tracked changes. This cannot be
117
 * used to test if an uncommitted row that has been added locally is new or it
118
 * may given unexpected results. */
119
static inline bool ovsrec_autoattach_is_new(const struct ovsrec_autoattach *row)
120
0
{
121
0
    return ovsrec_autoattach_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
122
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_autoattach_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_autoattach_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_autoattach_is_new
123
124
/* Returns true if 'row' was deleted since the last change tracking reset.
125
 *
126
 * Note: This can only be used to test rows of tracked changes. This cannot be
127
 * used to test if an uncommitted row that has been added locally has been
128
 * deleted or it may given unexpected results. */
129
static inline bool ovsrec_autoattach_is_deleted(const struct ovsrec_autoattach *row)
130
0
{
131
0
    return ovsrec_autoattach_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
132
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_autoattach_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_autoattach_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_autoattach_is_deleted
133
134
void ovsrec_autoattach_index_destroy_row(const struct ovsrec_autoattach *);
135
136
struct ovsrec_autoattach *ovsrec_autoattach_index_find(struct ovsdb_idl_index *, const struct ovsrec_autoattach *);
137
138
int ovsrec_autoattach_index_compare(
139
    struct ovsdb_idl_index *, 
140
    const struct ovsrec_autoattach *, 
141
    const struct ovsrec_autoattach *);
142
struct ovsdb_idl_cursor ovsrec_autoattach_cursor_first(struct ovsdb_idl_index *);
143
struct ovsdb_idl_cursor ovsrec_autoattach_cursor_first_eq(
144
    struct ovsdb_idl_index *, const struct ovsrec_autoattach *);
145
struct ovsdb_idl_cursor ovsrec_autoattach_cursor_first_ge(
146
    struct ovsdb_idl_index *, const struct ovsrec_autoattach *);
147
148
struct ovsrec_autoattach *ovsrec_autoattach_cursor_data(struct ovsdb_idl_cursor *);
149
150
#define OVSREC_AUTOATTACH_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
151
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_autoattach_cursor_first_ge(INDEX, FROM); \
152
             (cursor__.position \
153
              && ((ROW) = ovsrec_autoattach_cursor_data(&cursor__), \
154
                  !(TO) || ovsrec_autoattach_index_compare(INDEX, ROW, TO) <= 0)); \
155
             ovsdb_idl_cursor_next(&cursor__))
156
#define OVSREC_AUTOATTACH_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
157
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_autoattach_cursor_first_eq(INDEX, KEY); \
158
             (cursor__.position \
159
              ? ((ROW) = ovsrec_autoattach_cursor_data(&cursor__), \
160
                 ovsdb_idl_cursor_next_eq(&cursor__), \
161
                 true) \
162
              : false); \
163
            )
164
#define OVSREC_AUTOATTACH_FOR_EACH_BYINDEX(ROW, INDEX) \
165
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_autoattach_cursor_first(INDEX); \
166
             (cursor__.position \
167
              ? ((ROW) = ovsrec_autoattach_cursor_data(&cursor__), \
168
                 ovsdb_idl_cursor_next(&cursor__), \
169
                 true) \
170
              : false); \
171
            )
172
173
void ovsrec_autoattach_init(struct ovsrec_autoattach *);
174
void ovsrec_autoattach_delete(const struct ovsrec_autoattach *);
175
struct ovsrec_autoattach *ovsrec_autoattach_insert(struct ovsdb_idl_txn *);
176
struct ovsrec_autoattach *ovsrec_autoattach_insert_persist_uuid(
177
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
178
179
/* Returns true if the tracked column referenced by 'enum ovsrec_autoattach_column_id' of
180
 * the row referenced by 'struct ovsrec_autoattach *' was updated since the last change
181
 * tracking reset.
182
 *
183
 * Note: This can only be used to test rows of tracked changes. This cannot be
184
 * used to test if an uncommitted row that has been added locally has been
185
 * updated or it may given unexpected results. */
186
bool ovsrec_autoattach_is_updated(const struct ovsrec_autoattach *, enum ovsrec_autoattach_column_id);
187
188
void ovsrec_autoattach_verify_mappings(const struct ovsrec_autoattach *);
189
void ovsrec_autoattach_verify_system_description(const struct ovsrec_autoattach *);
190
void ovsrec_autoattach_verify_system_name(const struct ovsrec_autoattach *);
191
192
const struct ovsdb_datum *ovsrec_autoattach_get_mappings(const struct ovsrec_autoattach *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
193
const struct ovsdb_datum *ovsrec_autoattach_get_system_description(const struct ovsrec_autoattach *, enum ovsdb_atomic_type key_type);
194
const struct ovsdb_datum *ovsrec_autoattach_get_system_name(const struct ovsrec_autoattach *, enum ovsdb_atomic_type key_type);
195
196
void ovsrec_autoattach_set_mappings(const struct ovsrec_autoattach *, const int64_t *key_mappings, const int64_t *value_mappings, size_t n_mappings);
197
void ovsrec_autoattach_set_system_description(const struct ovsrec_autoattach *, const char *system_description);
198
void ovsrec_autoattach_set_system_name(const struct ovsrec_autoattach *, const char *system_name);
199
200
void ovsrec_autoattach_update_mappings_setkey(const struct ovsrec_autoattach *,  int64_t , int64_t );
201
void ovsrec_autoattach_update_mappings_delkey(const struct ovsrec_autoattach *,  int64_t );
202
void ovsrec_autoattach_add_clause_mappings(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *key_mappings, const int64_t *value_mappings, size_t n_mappings);
203
unsigned int ovsrec_autoattach_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
204
void ovsrec_autoattach_add_clause_system_description(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *system_description);
205
unsigned int ovsrec_autoattach_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
206
void ovsrec_autoattach_add_clause_system_name(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *system_name);
207
unsigned int ovsrec_autoattach_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
208
209
struct ovsrec_autoattach *ovsrec_autoattach_index_init_row(struct ovsdb_idl_index *);
210
void ovsrec_autoattach_index_set_mappings(const struct ovsrec_autoattach *,
211
const int64_t *key_mappings, const int64_t *value_mappings, size_t n_mappings);
212
void ovsrec_autoattach_index_set_system_description(const struct ovsrec_autoattach *,
213
const char *system_description);
214
void ovsrec_autoattach_index_set_system_name(const struct ovsrec_autoattach *,
215
const char *system_name);
216

217
/* Bridge table. */
218
struct ovsrec_bridge {
219
  struct ovsdb_idl_row header_;
220
221
  /* auto_attach column. */
222
  struct ovsrec_autoattach *auto_attach;
223
224
  /* controller column. */
225
  struct ovsrec_controller **controller;
226
  size_t n_controller;
227
228
  /* datapath_id column. */
229
  char *datapath_id;
230
231
  /* datapath_type column. */
232
  char *datapath_type;  /* Always nonnull. */
233
234
  /* datapath_version column. */
235
  char *datapath_version; /* Always nonnull. */
236
237
  /* external_ids column. */
238
  struct smap external_ids;
239
240
  /* fail_mode column. */
241
  char *fail_mode;
242
243
  /* flood_vlans column. */
244
  int64_t *flood_vlans;
245
  size_t n_flood_vlans;
246
247
  /* flow_tables column. */
248
  int64_t *key_flow_tables;
249
  struct ovsrec_flow_table **value_flow_tables;
250
  size_t n_flow_tables;
251
252
  /* ipfix column. */
253
  struct ovsrec_ipfix *ipfix;
254
255
  /* mcast_snooping_enable column. */
256
  bool mcast_snooping_enable;
257
258
  /* mirrors column. */
259
  struct ovsrec_mirror **mirrors;
260
  size_t n_mirrors;
261
262
  /* name column. */
263
  char *name; /* Always nonnull. */
264
265
  /* netflow column. */
266
  struct ovsrec_netflow *netflow;
267
268
  /* other_config column. */
269
  struct smap other_config;
270
271
  /* ports column. */
272
  struct ovsrec_port **ports;
273
  size_t n_ports;
274
275
  /* protocols column. */
276
  char **protocols;
277
  size_t n_protocols;
278
279
  /* rstp_enable column. */
280
  bool rstp_enable;
281
282
  /* rstp_status column. */
283
  struct smap rstp_status;
284
285
  /* sflow column. */
286
  struct ovsrec_sflow *sflow;
287
288
  /* status column. */
289
  struct smap status;
290
291
  /* stp_enable column. */
292
  bool stp_enable;
293
};
294
295
enum ovsrec_bridge_column_id {
296
    OVSREC_BRIDGE_COL_AUTO_ATTACH,
297
    OVSREC_BRIDGE_COL_CONTROLLER,
298
    OVSREC_BRIDGE_COL_DATAPATH_ID,
299
    OVSREC_BRIDGE_COL_DATAPATH_TYPE,
300
    OVSREC_BRIDGE_COL_DATAPATH_VERSION,
301
    OVSREC_BRIDGE_COL_EXTERNAL_IDS,
302
    OVSREC_BRIDGE_COL_FAIL_MODE,
303
    OVSREC_BRIDGE_COL_FLOOD_VLANS,
304
    OVSREC_BRIDGE_COL_FLOW_TABLES,
305
    OVSREC_BRIDGE_COL_IPFIX,
306
    OVSREC_BRIDGE_COL_MCAST_SNOOPING_ENABLE,
307
    OVSREC_BRIDGE_COL_MIRRORS,
308
    OVSREC_BRIDGE_COL_NAME,
309
    OVSREC_BRIDGE_COL_NETFLOW,
310
    OVSREC_BRIDGE_COL_OTHER_CONFIG,
311
    OVSREC_BRIDGE_COL_PORTS,
312
    OVSREC_BRIDGE_COL_PROTOCOLS,
313
    OVSREC_BRIDGE_COL_RSTP_ENABLE,
314
    OVSREC_BRIDGE_COL_RSTP_STATUS,
315
    OVSREC_BRIDGE_COL_SFLOW,
316
    OVSREC_BRIDGE_COL_STATUS,
317
    OVSREC_BRIDGE_COL_STP_ENABLE,
318
    OVSREC_BRIDGE_N_COLUMNS
319
};
320
321
0
#define ovsrec_bridge_col_auto_attach (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_AUTO_ATTACH])
322
0
#define ovsrec_bridge_col_controller (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_CONTROLLER])
323
0
#define ovsrec_bridge_col_datapath_id (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_DATAPATH_ID])
324
0
#define ovsrec_bridge_col_datapath_type (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_DATAPATH_TYPE])
325
0
#define ovsrec_bridge_col_datapath_version (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_DATAPATH_VERSION])
326
0
#define ovsrec_bridge_col_external_ids (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_EXTERNAL_IDS])
327
0
#define ovsrec_bridge_col_fail_mode (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_FAIL_MODE])
328
0
#define ovsrec_bridge_col_flood_vlans (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_FLOOD_VLANS])
329
0
#define ovsrec_bridge_col_flow_tables (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_FLOW_TABLES])
330
0
#define ovsrec_bridge_col_ipfix (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_IPFIX])
331
0
#define ovsrec_bridge_col_mcast_snooping_enable (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_MCAST_SNOOPING_ENABLE])
332
0
#define ovsrec_bridge_col_mirrors (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_MIRRORS])
333
0
#define ovsrec_bridge_col_name (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_NAME])
334
0
#define ovsrec_bridge_col_netflow (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_NETFLOW])
335
0
#define ovsrec_bridge_col_other_config (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_OTHER_CONFIG])
336
0
#define ovsrec_bridge_col_ports (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_PORTS])
337
0
#define ovsrec_bridge_col_protocols (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_PROTOCOLS])
338
0
#define ovsrec_bridge_col_rstp_enable (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_RSTP_ENABLE])
339
0
#define ovsrec_bridge_col_rstp_status (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_RSTP_STATUS])
340
0
#define ovsrec_bridge_col_sflow (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_SFLOW])
341
0
#define ovsrec_bridge_col_status (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_STATUS])
342
0
#define ovsrec_bridge_col_stp_enable (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_STP_ENABLE])
343
344
extern struct ovsdb_idl_column ovsrec_bridge_columns[OVSREC_BRIDGE_N_COLUMNS];
345
bool ovsrec_server_has_bridge_table_col_auto_attach(const struct ovsdb_idl *); 
346
const struct ovsdb_type *ovsrec_bridge_auto_attach_server_type(const struct ovsdb_idl *); 
347
bool ovsrec_server_has_bridge_table_col_controller(const struct ovsdb_idl *); 
348
const struct ovsdb_type *ovsrec_bridge_controller_server_type(const struct ovsdb_idl *); 
349
bool ovsrec_server_has_bridge_table_col_datapath_id(const struct ovsdb_idl *); 
350
const struct ovsdb_type *ovsrec_bridge_datapath_id_server_type(const struct ovsdb_idl *); 
351
bool ovsrec_server_has_bridge_table_col_datapath_type(const struct ovsdb_idl *); 
352
const struct ovsdb_type *ovsrec_bridge_datapath_type_server_type(const struct ovsdb_idl *); 
353
bool ovsrec_server_has_bridge_table_col_datapath_version(const struct ovsdb_idl *); 
354
const struct ovsdb_type *ovsrec_bridge_datapath_version_server_type(const struct ovsdb_idl *); 
355
bool ovsrec_server_has_bridge_table_col_external_ids(const struct ovsdb_idl *); 
356
const struct ovsdb_type *ovsrec_bridge_external_ids_server_type(const struct ovsdb_idl *); 
357
bool ovsrec_server_has_bridge_table_col_fail_mode(const struct ovsdb_idl *); 
358
const struct ovsdb_type *ovsrec_bridge_fail_mode_server_type(const struct ovsdb_idl *); 
359
bool ovsrec_server_has_bridge_table_col_flood_vlans(const struct ovsdb_idl *); 
360
const struct ovsdb_type *ovsrec_bridge_flood_vlans_server_type(const struct ovsdb_idl *); 
361
bool ovsrec_server_has_bridge_table_col_flow_tables(const struct ovsdb_idl *); 
362
const struct ovsdb_type *ovsrec_bridge_flow_tables_server_type(const struct ovsdb_idl *); 
363
bool ovsrec_server_has_bridge_table_col_ipfix(const struct ovsdb_idl *); 
364
const struct ovsdb_type *ovsrec_bridge_ipfix_server_type(const struct ovsdb_idl *); 
365
bool ovsrec_server_has_bridge_table_col_mcast_snooping_enable(const struct ovsdb_idl *); 
366
const struct ovsdb_type *ovsrec_bridge_mcast_snooping_enable_server_type(const struct ovsdb_idl *); 
367
bool ovsrec_server_has_bridge_table_col_mirrors(const struct ovsdb_idl *); 
368
const struct ovsdb_type *ovsrec_bridge_mirrors_server_type(const struct ovsdb_idl *); 
369
bool ovsrec_server_has_bridge_table_col_name(const struct ovsdb_idl *); 
370
const struct ovsdb_type *ovsrec_bridge_name_server_type(const struct ovsdb_idl *); 
371
bool ovsrec_server_has_bridge_table_col_netflow(const struct ovsdb_idl *); 
372
const struct ovsdb_type *ovsrec_bridge_netflow_server_type(const struct ovsdb_idl *); 
373
bool ovsrec_server_has_bridge_table_col_other_config(const struct ovsdb_idl *); 
374
const struct ovsdb_type *ovsrec_bridge_other_config_server_type(const struct ovsdb_idl *); 
375
bool ovsrec_server_has_bridge_table_col_ports(const struct ovsdb_idl *); 
376
const struct ovsdb_type *ovsrec_bridge_ports_server_type(const struct ovsdb_idl *); 
377
bool ovsrec_server_has_bridge_table_col_protocols(const struct ovsdb_idl *); 
378
const struct ovsdb_type *ovsrec_bridge_protocols_server_type(const struct ovsdb_idl *); 
379
bool ovsrec_server_has_bridge_table_col_rstp_enable(const struct ovsdb_idl *); 
380
const struct ovsdb_type *ovsrec_bridge_rstp_enable_server_type(const struct ovsdb_idl *); 
381
bool ovsrec_server_has_bridge_table_col_rstp_status(const struct ovsdb_idl *); 
382
const struct ovsdb_type *ovsrec_bridge_rstp_status_server_type(const struct ovsdb_idl *); 
383
bool ovsrec_server_has_bridge_table_col_sflow(const struct ovsdb_idl *); 
384
const struct ovsdb_type *ovsrec_bridge_sflow_server_type(const struct ovsdb_idl *); 
385
bool ovsrec_server_has_bridge_table_col_status(const struct ovsdb_idl *); 
386
const struct ovsdb_type *ovsrec_bridge_status_server_type(const struct ovsdb_idl *); 
387
bool ovsrec_server_has_bridge_table_col_stp_enable(const struct ovsdb_idl *); 
388
const struct ovsdb_type *ovsrec_bridge_stp_enable_server_type(const struct ovsdb_idl *); 
389
390
bool ovsrec_server_has_bridge_table(const struct ovsdb_idl *);
391
const struct ovsrec_bridge_table *ovsrec_bridge_table_get(const struct ovsdb_idl *);
392
const struct ovsrec_bridge *ovsrec_bridge_table_first(const struct ovsrec_bridge_table *);
393
394
#define OVSREC_BRIDGE_TABLE_FOR_EACH(ROW, TABLE) \
395
        for ((ROW) = ovsrec_bridge_table_first(TABLE); \
396
             (ROW); \
397
             (ROW) = ovsrec_bridge_next(ROW))
398
#define OVSREC_BRIDGE_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
399
        for ((ROW) = ovsrec_bridge_table_first(TABLE); \
400
             (ROW) ? ((NEXT) = ovsrec_bridge_next(ROW), 1) : 0; \
401
             (ROW) = (NEXT))
402
#define OVSREC_BRIDGE_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
403
        for (const struct ovsrec_bridge * ROW__next = ((ROW) = ovsrec_bridge_table_first(TABLE), NULL); \
404
             (ROW) ? (ROW__next = ovsrec_bridge_next(ROW), 1) : (ROW__next = NULL, 0); \
405
             (ROW) = ROW__next)
406
#define OVSREC_BRIDGE_TABLE_FOR_EACH_SAFE(...)                                        \
407
        OVERLOAD_SAFE_MACRO(OVSREC_BRIDGE_TABLE_FOR_EACH_SAFE_LONG,                   \
408
                            OVSREC_BRIDGE_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
409
410
411
const struct ovsrec_bridge *ovsrec_bridge_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
412
const struct ovsrec_bridge *ovsrec_bridge_table_get_for_uuid(const struct ovsrec_bridge_table *, const struct uuid *);
413
const struct ovsrec_bridge *ovsrec_bridge_first(const struct ovsdb_idl *);
414
const struct ovsrec_bridge *ovsrec_bridge_next(const struct ovsrec_bridge *);
415
#define OVSREC_BRIDGE_FOR_EACH(ROW, IDL) \
416
        for ((ROW) = ovsrec_bridge_first(IDL); \
417
             (ROW); \
418
             (ROW) = ovsrec_bridge_next(ROW))
419
#define OVSREC_BRIDGE_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
420
        for ((ROW) = ovsrec_bridge_first(IDL); \
421
             (ROW) ? ((NEXT) = ovsrec_bridge_next(ROW), 1) : 0; \
422
             (ROW) = (NEXT))
423
#define OVSREC_BRIDGE_FOR_EACH_SAFE_SHORT(ROW, IDL) \
424
        for (const struct ovsrec_bridge * ROW__next = ((ROW) = ovsrec_bridge_first(IDL), NULL); \
425
             (ROW) ? (ROW__next = ovsrec_bridge_next(ROW), 1) : (ROW__next = NULL, 0); \
426
             (ROW) = ROW__next)
427
#define OVSREC_BRIDGE_FOR_EACH_SAFE(...)                                         \
428
        OVERLOAD_SAFE_MACRO(OVSREC_BRIDGE_FOR_EACH_SAFE_LONG,                    \
429
                            OVSREC_BRIDGE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
430
431
unsigned int ovsrec_bridge_get_seqno(const struct ovsdb_idl *);
432
unsigned int ovsrec_bridge_row_get_seqno(const struct ovsrec_bridge *row, enum ovsdb_idl_change change);
433
const struct ovsrec_bridge *ovsrec_bridge_track_get_first(const struct ovsdb_idl *);
434
const struct ovsrec_bridge *ovsrec_bridge_track_get_next(const struct ovsrec_bridge *);
435
#define OVSREC_BRIDGE_FOR_EACH_TRACKED(ROW, IDL) \
436
        for ((ROW) = ovsrec_bridge_track_get_first(IDL); \
437
             (ROW); \
438
             (ROW) = ovsrec_bridge_track_get_next(ROW))
439
440
const struct ovsrec_bridge *ovsrec_bridge_table_track_get_first(const struct ovsrec_bridge_table *);
441
#define OVSREC_BRIDGE_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
442
        for ((ROW) = ovsrec_bridge_table_track_get_first(TABLE); \
443
             (ROW); \
444
             (ROW) = ovsrec_bridge_track_get_next(ROW))
445
446
447
/* Returns true if 'row' was inserted since the last change tracking reset.
448
 *
449
 * Note: This can only be used to test rows of tracked changes. This cannot be
450
 * used to test if an uncommitted row that has been added locally is new or it
451
 * may given unexpected results. */
452
static inline bool ovsrec_bridge_is_new(const struct ovsrec_bridge *row)
453
0
{
454
0
    return ovsrec_bridge_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
455
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_bridge_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_bridge_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_bridge_is_new
456
457
/* Returns true if 'row' was deleted since the last change tracking reset.
458
 *
459
 * Note: This can only be used to test rows of tracked changes. This cannot be
460
 * used to test if an uncommitted row that has been added locally has been
461
 * deleted or it may given unexpected results. */
462
static inline bool ovsrec_bridge_is_deleted(const struct ovsrec_bridge *row)
463
0
{
464
0
    return ovsrec_bridge_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
465
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_bridge_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_bridge_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_bridge_is_deleted
466
467
void ovsrec_bridge_index_destroy_row(const struct ovsrec_bridge *);
468
469
struct ovsrec_bridge *ovsrec_bridge_index_find(struct ovsdb_idl_index *, const struct ovsrec_bridge *);
470
471
int ovsrec_bridge_index_compare(
472
    struct ovsdb_idl_index *, 
473
    const struct ovsrec_bridge *, 
474
    const struct ovsrec_bridge *);
475
struct ovsdb_idl_cursor ovsrec_bridge_cursor_first(struct ovsdb_idl_index *);
476
struct ovsdb_idl_cursor ovsrec_bridge_cursor_first_eq(
477
    struct ovsdb_idl_index *, const struct ovsrec_bridge *);
478
struct ovsdb_idl_cursor ovsrec_bridge_cursor_first_ge(
479
    struct ovsdb_idl_index *, const struct ovsrec_bridge *);
480
481
struct ovsrec_bridge *ovsrec_bridge_cursor_data(struct ovsdb_idl_cursor *);
482
483
#define OVSREC_BRIDGE_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
484
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_bridge_cursor_first_ge(INDEX, FROM); \
485
             (cursor__.position \
486
              && ((ROW) = ovsrec_bridge_cursor_data(&cursor__), \
487
                  !(TO) || ovsrec_bridge_index_compare(INDEX, ROW, TO) <= 0)); \
488
             ovsdb_idl_cursor_next(&cursor__))
489
#define OVSREC_BRIDGE_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
490
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_bridge_cursor_first_eq(INDEX, KEY); \
491
             (cursor__.position \
492
              ? ((ROW) = ovsrec_bridge_cursor_data(&cursor__), \
493
                 ovsdb_idl_cursor_next_eq(&cursor__), \
494
                 true) \
495
              : false); \
496
            )
497
#define OVSREC_BRIDGE_FOR_EACH_BYINDEX(ROW, INDEX) \
498
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_bridge_cursor_first(INDEX); \
499
             (cursor__.position \
500
              ? ((ROW) = ovsrec_bridge_cursor_data(&cursor__), \
501
                 ovsdb_idl_cursor_next(&cursor__), \
502
                 true) \
503
              : false); \
504
            )
505
506
void ovsrec_bridge_init(struct ovsrec_bridge *);
507
void ovsrec_bridge_delete(const struct ovsrec_bridge *);
508
struct ovsrec_bridge *ovsrec_bridge_insert(struct ovsdb_idl_txn *);
509
struct ovsrec_bridge *ovsrec_bridge_insert_persist_uuid(
510
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
511
512
/* Returns true if the tracked column referenced by 'enum ovsrec_bridge_column_id' of
513
 * the row referenced by 'struct ovsrec_bridge *' was updated since the last change
514
 * tracking reset.
515
 *
516
 * Note: This can only be used to test rows of tracked changes. This cannot be
517
 * used to test if an uncommitted row that has been added locally has been
518
 * updated or it may given unexpected results. */
519
bool ovsrec_bridge_is_updated(const struct ovsrec_bridge *, enum ovsrec_bridge_column_id);
520
521
void ovsrec_bridge_verify_auto_attach(const struct ovsrec_bridge *);
522
void ovsrec_bridge_verify_controller(const struct ovsrec_bridge *);
523
void ovsrec_bridge_verify_datapath_id(const struct ovsrec_bridge *);
524
void ovsrec_bridge_verify_datapath_type(const struct ovsrec_bridge *);
525
void ovsrec_bridge_verify_datapath_version(const struct ovsrec_bridge *);
526
void ovsrec_bridge_verify_external_ids(const struct ovsrec_bridge *);
527
void ovsrec_bridge_verify_fail_mode(const struct ovsrec_bridge *);
528
void ovsrec_bridge_verify_flood_vlans(const struct ovsrec_bridge *);
529
void ovsrec_bridge_verify_flow_tables(const struct ovsrec_bridge *);
530
void ovsrec_bridge_verify_ipfix(const struct ovsrec_bridge *);
531
void ovsrec_bridge_verify_mcast_snooping_enable(const struct ovsrec_bridge *);
532
void ovsrec_bridge_verify_mirrors(const struct ovsrec_bridge *);
533
void ovsrec_bridge_verify_name(const struct ovsrec_bridge *);
534
void ovsrec_bridge_verify_netflow(const struct ovsrec_bridge *);
535
void ovsrec_bridge_verify_other_config(const struct ovsrec_bridge *);
536
void ovsrec_bridge_verify_ports(const struct ovsrec_bridge *);
537
void ovsrec_bridge_verify_protocols(const struct ovsrec_bridge *);
538
void ovsrec_bridge_verify_rstp_enable(const struct ovsrec_bridge *);
539
void ovsrec_bridge_verify_rstp_status(const struct ovsrec_bridge *);
540
void ovsrec_bridge_verify_sflow(const struct ovsrec_bridge *);
541
void ovsrec_bridge_verify_status(const struct ovsrec_bridge *);
542
void ovsrec_bridge_verify_stp_enable(const struct ovsrec_bridge *);
543
544
const struct ovsdb_datum *ovsrec_bridge_get_auto_attach(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
545
const struct ovsdb_datum *ovsrec_bridge_get_controller(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
546
const struct ovsdb_datum *ovsrec_bridge_get_datapath_id(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
547
const struct ovsdb_datum *ovsrec_bridge_get_datapath_type(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
548
const struct ovsdb_datum *ovsrec_bridge_get_datapath_version(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
549
const struct ovsdb_datum *ovsrec_bridge_get_external_ids(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
550
const struct ovsdb_datum *ovsrec_bridge_get_fail_mode(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
551
const struct ovsdb_datum *ovsrec_bridge_get_flood_vlans(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
552
const struct ovsdb_datum *ovsrec_bridge_get_flow_tables(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
553
const struct ovsdb_datum *ovsrec_bridge_get_ipfix(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
554
const struct ovsdb_datum *ovsrec_bridge_get_mcast_snooping_enable(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
555
const struct ovsdb_datum *ovsrec_bridge_get_mirrors(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
556
const struct ovsdb_datum *ovsrec_bridge_get_name(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
557
const struct ovsdb_datum *ovsrec_bridge_get_netflow(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
558
const struct ovsdb_datum *ovsrec_bridge_get_other_config(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
559
const struct ovsdb_datum *ovsrec_bridge_get_ports(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
560
const struct ovsdb_datum *ovsrec_bridge_get_protocols(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
561
const struct ovsdb_datum *ovsrec_bridge_get_rstp_enable(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
562
const struct ovsdb_datum *ovsrec_bridge_get_rstp_status(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
563
const struct ovsdb_datum *ovsrec_bridge_get_sflow(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
564
const struct ovsdb_datum *ovsrec_bridge_get_status(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
565
const struct ovsdb_datum *ovsrec_bridge_get_stp_enable(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
566
567
void ovsrec_bridge_set_auto_attach(const struct ovsrec_bridge *, const struct ovsrec_autoattach *auto_attach);
568
void ovsrec_bridge_set_controller(const struct ovsrec_bridge *, struct ovsrec_controller **controller, size_t n_controller);
569
void ovsrec_bridge_set_datapath_id(const struct ovsrec_bridge *, const char *datapath_id);
570
void ovsrec_bridge_set_datapath_type(const struct ovsrec_bridge *, const char *datapath_type);
571
void ovsrec_bridge_set_datapath_version(const struct ovsrec_bridge *, const char *datapath_version);
572
void ovsrec_bridge_set_external_ids(const struct ovsrec_bridge *, const struct smap *);
573
void ovsrec_bridge_set_fail_mode(const struct ovsrec_bridge *, const char *fail_mode);
574
void ovsrec_bridge_set_flood_vlans(const struct ovsrec_bridge *, const int64_t *flood_vlans, size_t n_flood_vlans);
575
void ovsrec_bridge_set_flow_tables(const struct ovsrec_bridge *, const int64_t *key_flow_tables, struct ovsrec_flow_table **value_flow_tables, size_t n_flow_tables);
576
void ovsrec_bridge_set_ipfix(const struct ovsrec_bridge *, const struct ovsrec_ipfix *ipfix);
577
void ovsrec_bridge_set_mcast_snooping_enable(const struct ovsrec_bridge *, bool mcast_snooping_enable);
578
void ovsrec_bridge_set_mirrors(const struct ovsrec_bridge *, struct ovsrec_mirror **mirrors, size_t n_mirrors);
579
void ovsrec_bridge_set_name(const struct ovsrec_bridge *, const char *name);
580
void ovsrec_bridge_set_netflow(const struct ovsrec_bridge *, const struct ovsrec_netflow *netflow);
581
void ovsrec_bridge_set_other_config(const struct ovsrec_bridge *, const struct smap *);
582
void ovsrec_bridge_set_ports(const struct ovsrec_bridge *, struct ovsrec_port **ports, size_t n_ports);
583
void ovsrec_bridge_set_protocols(const struct ovsrec_bridge *, const char **protocols, size_t n_protocols);
584
void ovsrec_bridge_set_rstp_enable(const struct ovsrec_bridge *, bool rstp_enable);
585
void ovsrec_bridge_set_rstp_status(const struct ovsrec_bridge *, const struct smap *);
586
void ovsrec_bridge_set_sflow(const struct ovsrec_bridge *, const struct ovsrec_sflow *sflow);
587
void ovsrec_bridge_set_status(const struct ovsrec_bridge *, const struct smap *);
588
void ovsrec_bridge_set_stp_enable(const struct ovsrec_bridge *, bool stp_enable);
589
590
void ovsrec_bridge_update_auto_attach_addvalue(const struct ovsrec_bridge *,  const struct ovsrec_autoattach *);
591
void ovsrec_bridge_update_auto_attach_delvalue(const struct ovsrec_bridge *,  const struct ovsrec_autoattach *);
592
void ovsrec_bridge_add_clause_auto_attach(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *auto_attach);
593
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
594
void ovsrec_bridge_update_controller_addvalue(const struct ovsrec_bridge *,  const struct ovsrec_controller *);
595
void ovsrec_bridge_update_controller_delvalue(const struct ovsrec_bridge *,  const struct ovsrec_controller *);
596
void ovsrec_bridge_add_clause_controller(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **controller, size_t n_controller);
597
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
598
void ovsrec_bridge_update_datapath_id_addvalue(const struct ovsrec_bridge *,  const char *);
599
void ovsrec_bridge_update_datapath_id_delvalue(const struct ovsrec_bridge *,  const char *);
600
void ovsrec_bridge_add_clause_datapath_id(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *datapath_id);
601
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
602
void ovsrec_bridge_add_clause_datapath_type(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *datapath_type);
603
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
604
void ovsrec_bridge_add_clause_datapath_version(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *datapath_version);
605
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
606
void ovsrec_bridge_update_external_ids_setkey(const struct ovsrec_bridge *,  const char *, const char *);
607
void ovsrec_bridge_update_external_ids_delkey(const struct ovsrec_bridge *,  const char *);
608
void ovsrec_bridge_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
609
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
610
void ovsrec_bridge_update_fail_mode_addvalue(const struct ovsrec_bridge *,  const char *);
611
void ovsrec_bridge_update_fail_mode_delvalue(const struct ovsrec_bridge *,  const char *);
612
void ovsrec_bridge_add_clause_fail_mode(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *fail_mode);
613
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
614
void ovsrec_bridge_update_flood_vlans_addvalue(const struct ovsrec_bridge *,  int64_t );
615
void ovsrec_bridge_update_flood_vlans_delvalue(const struct ovsrec_bridge *,  int64_t );
616
void ovsrec_bridge_add_clause_flood_vlans(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *flood_vlans, size_t n_flood_vlans);
617
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
618
void ovsrec_bridge_update_flow_tables_setkey(const struct ovsrec_bridge *,  int64_t , const struct ovsrec_flow_table *);
619
void ovsrec_bridge_update_flow_tables_delkey(const struct ovsrec_bridge *,  int64_t );
620
void ovsrec_bridge_add_clause_flow_tables(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *key_flow_tables, struct uuid **value_flow_tables, size_t n_flow_tables);
621
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
622
void ovsrec_bridge_update_ipfix_addvalue(const struct ovsrec_bridge *,  const struct ovsrec_ipfix *);
623
void ovsrec_bridge_update_ipfix_delvalue(const struct ovsrec_bridge *,  const struct ovsrec_ipfix *);
624
void ovsrec_bridge_add_clause_ipfix(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *ipfix);
625
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
626
void ovsrec_bridge_add_clause_mcast_snooping_enable(struct ovsdb_idl_condition *, enum ovsdb_function function, bool mcast_snooping_enable);
627
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
628
void ovsrec_bridge_update_mirrors_addvalue(const struct ovsrec_bridge *,  const struct ovsrec_mirror *);
629
void ovsrec_bridge_update_mirrors_delvalue(const struct ovsrec_bridge *,  const struct ovsrec_mirror *);
630
void ovsrec_bridge_add_clause_mirrors(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **mirrors, size_t n_mirrors);
631
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
632
void ovsrec_bridge_add_clause_name(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *name);
633
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
634
void ovsrec_bridge_update_netflow_addvalue(const struct ovsrec_bridge *,  const struct ovsrec_netflow *);
635
void ovsrec_bridge_update_netflow_delvalue(const struct ovsrec_bridge *,  const struct ovsrec_netflow *);
636
void ovsrec_bridge_add_clause_netflow(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *netflow);
637
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
638
void ovsrec_bridge_update_other_config_setkey(const struct ovsrec_bridge *,  const char *, const char *);
639
void ovsrec_bridge_update_other_config_delkey(const struct ovsrec_bridge *,  const char *);
640
void ovsrec_bridge_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
641
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
642
void ovsrec_bridge_update_ports_addvalue(const struct ovsrec_bridge *,  const struct ovsrec_port *);
643
void ovsrec_bridge_update_ports_delvalue(const struct ovsrec_bridge *,  const struct ovsrec_port *);
644
void ovsrec_bridge_add_clause_ports(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **ports, size_t n_ports);
645
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
646
void ovsrec_bridge_update_protocols_addvalue(const struct ovsrec_bridge *,  const char *);
647
void ovsrec_bridge_update_protocols_delvalue(const struct ovsrec_bridge *,  const char *);
648
void ovsrec_bridge_add_clause_protocols(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **protocols, size_t n_protocols);
649
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
650
void ovsrec_bridge_add_clause_rstp_enable(struct ovsdb_idl_condition *, enum ovsdb_function function, bool rstp_enable);
651
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
652
void ovsrec_bridge_update_rstp_status_setkey(const struct ovsrec_bridge *,  const char *, const char *);
653
void ovsrec_bridge_update_rstp_status_delkey(const struct ovsrec_bridge *,  const char *);
654
void ovsrec_bridge_add_clause_rstp_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
655
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
656
void ovsrec_bridge_update_sflow_addvalue(const struct ovsrec_bridge *,  const struct ovsrec_sflow *);
657
void ovsrec_bridge_update_sflow_delvalue(const struct ovsrec_bridge *,  const struct ovsrec_sflow *);
658
void ovsrec_bridge_add_clause_sflow(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *sflow);
659
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
660
void ovsrec_bridge_update_status_setkey(const struct ovsrec_bridge *,  const char *, const char *);
661
void ovsrec_bridge_update_status_delkey(const struct ovsrec_bridge *,  const char *);
662
void ovsrec_bridge_add_clause_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
663
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
664
void ovsrec_bridge_add_clause_stp_enable(struct ovsdb_idl_condition *, enum ovsdb_function function, bool stp_enable);
665
unsigned int ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
666
667
struct ovsrec_bridge *ovsrec_bridge_index_init_row(struct ovsdb_idl_index *);
668
void ovsrec_bridge_index_set_auto_attach(const struct ovsrec_bridge *,
669
const struct ovsrec_autoattach *auto_attach);
670
void ovsrec_bridge_index_set_controller(const struct ovsrec_bridge *,
671
struct ovsrec_controller **controller, size_t n_controller);
672
void ovsrec_bridge_index_set_datapath_id(const struct ovsrec_bridge *,
673
const char *datapath_id);
674
void ovsrec_bridge_index_set_datapath_type(const struct ovsrec_bridge *,
675
const char *datapath_type);
676
void ovsrec_bridge_index_set_datapath_version(const struct ovsrec_bridge *,
677
const char *datapath_version);
678
void ovsrec_bridge_index_set_external_ids(const struct ovsrec_bridge *,
679
const struct smap *);
680
void ovsrec_bridge_index_set_fail_mode(const struct ovsrec_bridge *,
681
const char *fail_mode);
682
void ovsrec_bridge_index_set_flood_vlans(const struct ovsrec_bridge *,
683
const int64_t *flood_vlans, size_t n_flood_vlans);
684
void ovsrec_bridge_index_set_flow_tables(const struct ovsrec_bridge *,
685
const int64_t *key_flow_tables, struct ovsrec_flow_table **value_flow_tables, size_t n_flow_tables);
686
void ovsrec_bridge_index_set_ipfix(const struct ovsrec_bridge *,
687
const struct ovsrec_ipfix *ipfix);
688
void ovsrec_bridge_index_set_mcast_snooping_enable(const struct ovsrec_bridge *,
689
bool mcast_snooping_enable);
690
void ovsrec_bridge_index_set_mirrors(const struct ovsrec_bridge *,
691
struct ovsrec_mirror **mirrors, size_t n_mirrors);
692
void ovsrec_bridge_index_set_name(const struct ovsrec_bridge *,
693
const char *name);
694
void ovsrec_bridge_index_set_netflow(const struct ovsrec_bridge *,
695
const struct ovsrec_netflow *netflow);
696
void ovsrec_bridge_index_set_other_config(const struct ovsrec_bridge *,
697
const struct smap *);
698
void ovsrec_bridge_index_set_ports(const struct ovsrec_bridge *,
699
struct ovsrec_port **ports, size_t n_ports);
700
void ovsrec_bridge_index_set_protocols(const struct ovsrec_bridge *,
701
const char **protocols, size_t n_protocols);
702
void ovsrec_bridge_index_set_rstp_enable(const struct ovsrec_bridge *,
703
bool rstp_enable);
704
void ovsrec_bridge_index_set_rstp_status(const struct ovsrec_bridge *,
705
const struct smap *);
706
void ovsrec_bridge_index_set_sflow(const struct ovsrec_bridge *,
707
const struct ovsrec_sflow *sflow);
708
void ovsrec_bridge_index_set_status(const struct ovsrec_bridge *,
709
const struct smap *);
710
void ovsrec_bridge_index_set_stp_enable(const struct ovsrec_bridge *,
711
bool stp_enable);
712

713
/* CT_Timeout_Policy table. */
714
struct ovsrec_ct_timeout_policy {
715
  struct ovsdb_idl_row header_;
716
717
  /* external_ids column. */
718
  struct smap external_ids;
719
720
  /* timeouts column. */
721
  char **key_timeouts;
722
  int64_t *value_timeouts;
723
  size_t n_timeouts;
724
};
725
726
enum ovsrec_ct_timeout_policy_column_id {
727
    OVSREC_CT_TIMEOUT_POLICY_COL_EXTERNAL_IDS,
728
    OVSREC_CT_TIMEOUT_POLICY_COL_TIMEOUTS,
729
    OVSREC_CT_TIMEOUT_POLICY_N_COLUMNS
730
};
731
732
0
#define ovsrec_ct_timeout_policy_col_external_ids (ovsrec_ct_timeout_policy_columns[OVSREC_CT_TIMEOUT_POLICY_COL_EXTERNAL_IDS])
733
0
#define ovsrec_ct_timeout_policy_col_timeouts (ovsrec_ct_timeout_policy_columns[OVSREC_CT_TIMEOUT_POLICY_COL_TIMEOUTS])
734
735
extern struct ovsdb_idl_column ovsrec_ct_timeout_policy_columns[OVSREC_CT_TIMEOUT_POLICY_N_COLUMNS];
736
bool ovsrec_server_has_ct_timeout_policy_table_col_external_ids(const struct ovsdb_idl *); 
737
const struct ovsdb_type *ovsrec_ct_timeout_policy_external_ids_server_type(const struct ovsdb_idl *); 
738
bool ovsrec_server_has_ct_timeout_policy_table_col_timeouts(const struct ovsdb_idl *); 
739
const struct ovsdb_type *ovsrec_ct_timeout_policy_timeouts_server_type(const struct ovsdb_idl *); 
740
741
bool ovsrec_server_has_ct_timeout_policy_table(const struct ovsdb_idl *);
742
const struct ovsrec_ct_timeout_policy_table *ovsrec_ct_timeout_policy_table_get(const struct ovsdb_idl *);
743
const struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_table_first(const struct ovsrec_ct_timeout_policy_table *);
744
745
#define OVSREC_CT_TIMEOUT_POLICY_TABLE_FOR_EACH(ROW, TABLE) \
746
        for ((ROW) = ovsrec_ct_timeout_policy_table_first(TABLE); \
747
             (ROW); \
748
             (ROW) = ovsrec_ct_timeout_policy_next(ROW))
749
#define OVSREC_CT_TIMEOUT_POLICY_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
750
        for ((ROW) = ovsrec_ct_timeout_policy_table_first(TABLE); \
751
             (ROW) ? ((NEXT) = ovsrec_ct_timeout_policy_next(ROW), 1) : 0; \
752
             (ROW) = (NEXT))
753
#define OVSREC_CT_TIMEOUT_POLICY_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
754
        for (const struct ovsrec_ct_timeout_policy * ROW__next = ((ROW) = ovsrec_ct_timeout_policy_table_first(TABLE), NULL); \
755
             (ROW) ? (ROW__next = ovsrec_ct_timeout_policy_next(ROW), 1) : (ROW__next = NULL, 0); \
756
             (ROW) = ROW__next)
757
#define OVSREC_CT_TIMEOUT_POLICY_TABLE_FOR_EACH_SAFE(...)                                        \
758
        OVERLOAD_SAFE_MACRO(OVSREC_CT_TIMEOUT_POLICY_TABLE_FOR_EACH_SAFE_LONG,                   \
759
                            OVSREC_CT_TIMEOUT_POLICY_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
760
761
762
const struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
763
const struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_table_get_for_uuid(const struct ovsrec_ct_timeout_policy_table *, const struct uuid *);
764
const struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_first(const struct ovsdb_idl *);
765
const struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_next(const struct ovsrec_ct_timeout_policy *);
766
#define OVSREC_CT_TIMEOUT_POLICY_FOR_EACH(ROW, IDL) \
767
        for ((ROW) = ovsrec_ct_timeout_policy_first(IDL); \
768
             (ROW); \
769
             (ROW) = ovsrec_ct_timeout_policy_next(ROW))
770
#define OVSREC_CT_TIMEOUT_POLICY_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
771
        for ((ROW) = ovsrec_ct_timeout_policy_first(IDL); \
772
             (ROW) ? ((NEXT) = ovsrec_ct_timeout_policy_next(ROW), 1) : 0; \
773
             (ROW) = (NEXT))
774
#define OVSREC_CT_TIMEOUT_POLICY_FOR_EACH_SAFE_SHORT(ROW, IDL) \
775
        for (const struct ovsrec_ct_timeout_policy * ROW__next = ((ROW) = ovsrec_ct_timeout_policy_first(IDL), NULL); \
776
             (ROW) ? (ROW__next = ovsrec_ct_timeout_policy_next(ROW), 1) : (ROW__next = NULL, 0); \
777
             (ROW) = ROW__next)
778
#define OVSREC_CT_TIMEOUT_POLICY_FOR_EACH_SAFE(...)                                         \
779
        OVERLOAD_SAFE_MACRO(OVSREC_CT_TIMEOUT_POLICY_FOR_EACH_SAFE_LONG,                    \
780
                            OVSREC_CT_TIMEOUT_POLICY_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
781
782
unsigned int ovsrec_ct_timeout_policy_get_seqno(const struct ovsdb_idl *);
783
unsigned int ovsrec_ct_timeout_policy_row_get_seqno(const struct ovsrec_ct_timeout_policy *row, enum ovsdb_idl_change change);
784
const struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_track_get_first(const struct ovsdb_idl *);
785
const struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_track_get_next(const struct ovsrec_ct_timeout_policy *);
786
#define OVSREC_CT_TIMEOUT_POLICY_FOR_EACH_TRACKED(ROW, IDL) \
787
        for ((ROW) = ovsrec_ct_timeout_policy_track_get_first(IDL); \
788
             (ROW); \
789
             (ROW) = ovsrec_ct_timeout_policy_track_get_next(ROW))
790
791
const struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_table_track_get_first(const struct ovsrec_ct_timeout_policy_table *);
792
#define OVSREC_CT_TIMEOUT_POLICY_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
793
        for ((ROW) = ovsrec_ct_timeout_policy_table_track_get_first(TABLE); \
794
             (ROW); \
795
             (ROW) = ovsrec_ct_timeout_policy_track_get_next(ROW))
796
797
798
/* Returns true if 'row' was inserted since the last change tracking reset.
799
 *
800
 * Note: This can only be used to test rows of tracked changes. This cannot be
801
 * used to test if an uncommitted row that has been added locally is new or it
802
 * may given unexpected results. */
803
static inline bool ovsrec_ct_timeout_policy_is_new(const struct ovsrec_ct_timeout_policy *row)
804
0
{
805
0
    return ovsrec_ct_timeout_policy_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
806
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_ct_timeout_policy_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_ct_timeout_policy_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_ct_timeout_policy_is_new
807
808
/* Returns true if 'row' was deleted since the last change tracking reset.
809
 *
810
 * Note: This can only be used to test rows of tracked changes. This cannot be
811
 * used to test if an uncommitted row that has been added locally has been
812
 * deleted or it may given unexpected results. */
813
static inline bool ovsrec_ct_timeout_policy_is_deleted(const struct ovsrec_ct_timeout_policy *row)
814
0
{
815
0
    return ovsrec_ct_timeout_policy_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
816
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_ct_timeout_policy_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_ct_timeout_policy_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_ct_timeout_policy_is_deleted
817
818
void ovsrec_ct_timeout_policy_index_destroy_row(const struct ovsrec_ct_timeout_policy *);
819
820
struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_index_find(struct ovsdb_idl_index *, const struct ovsrec_ct_timeout_policy *);
821
822
int ovsrec_ct_timeout_policy_index_compare(
823
    struct ovsdb_idl_index *, 
824
    const struct ovsrec_ct_timeout_policy *, 
825
    const struct ovsrec_ct_timeout_policy *);
826
struct ovsdb_idl_cursor ovsrec_ct_timeout_policy_cursor_first(struct ovsdb_idl_index *);
827
struct ovsdb_idl_cursor ovsrec_ct_timeout_policy_cursor_first_eq(
828
    struct ovsdb_idl_index *, const struct ovsrec_ct_timeout_policy *);
829
struct ovsdb_idl_cursor ovsrec_ct_timeout_policy_cursor_first_ge(
830
    struct ovsdb_idl_index *, const struct ovsrec_ct_timeout_policy *);
831
832
struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_cursor_data(struct ovsdb_idl_cursor *);
833
834
#define OVSREC_CT_TIMEOUT_POLICY_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
835
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ct_timeout_policy_cursor_first_ge(INDEX, FROM); \
836
             (cursor__.position \
837
              && ((ROW) = ovsrec_ct_timeout_policy_cursor_data(&cursor__), \
838
                  !(TO) || ovsrec_ct_timeout_policy_index_compare(INDEX, ROW, TO) <= 0)); \
839
             ovsdb_idl_cursor_next(&cursor__))
840
#define OVSREC_CT_TIMEOUT_POLICY_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
841
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ct_timeout_policy_cursor_first_eq(INDEX, KEY); \
842
             (cursor__.position \
843
              ? ((ROW) = ovsrec_ct_timeout_policy_cursor_data(&cursor__), \
844
                 ovsdb_idl_cursor_next_eq(&cursor__), \
845
                 true) \
846
              : false); \
847
            )
848
#define OVSREC_CT_TIMEOUT_POLICY_FOR_EACH_BYINDEX(ROW, INDEX) \
849
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ct_timeout_policy_cursor_first(INDEX); \
850
             (cursor__.position \
851
              ? ((ROW) = ovsrec_ct_timeout_policy_cursor_data(&cursor__), \
852
                 ovsdb_idl_cursor_next(&cursor__), \
853
                 true) \
854
              : false); \
855
            )
856
857
void ovsrec_ct_timeout_policy_init(struct ovsrec_ct_timeout_policy *);
858
void ovsrec_ct_timeout_policy_delete(const struct ovsrec_ct_timeout_policy *);
859
struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_insert(struct ovsdb_idl_txn *);
860
struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_insert_persist_uuid(
861
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
862
863
/* Returns true if the tracked column referenced by 'enum ovsrec_ct_timeout_policy_column_id' of
864
 * the row referenced by 'struct ovsrec_ct_timeout_policy *' was updated since the last change
865
 * tracking reset.
866
 *
867
 * Note: This can only be used to test rows of tracked changes. This cannot be
868
 * used to test if an uncommitted row that has been added locally has been
869
 * updated or it may given unexpected results. */
870
bool ovsrec_ct_timeout_policy_is_updated(const struct ovsrec_ct_timeout_policy *, enum ovsrec_ct_timeout_policy_column_id);
871
872
void ovsrec_ct_timeout_policy_verify_external_ids(const struct ovsrec_ct_timeout_policy *);
873
void ovsrec_ct_timeout_policy_verify_timeouts(const struct ovsrec_ct_timeout_policy *);
874
875
const struct ovsdb_datum *ovsrec_ct_timeout_policy_get_external_ids(const struct ovsrec_ct_timeout_policy *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
876
const struct ovsdb_datum *ovsrec_ct_timeout_policy_get_timeouts(const struct ovsrec_ct_timeout_policy *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
877
878
void ovsrec_ct_timeout_policy_set_external_ids(const struct ovsrec_ct_timeout_policy *, const struct smap *);
879
void ovsrec_ct_timeout_policy_set_timeouts(const struct ovsrec_ct_timeout_policy *, const char **key_timeouts, const int64_t *value_timeouts, size_t n_timeouts);
880
881
void ovsrec_ct_timeout_policy_update_external_ids_setkey(const struct ovsrec_ct_timeout_policy *,  const char *, const char *);
882
void ovsrec_ct_timeout_policy_update_external_ids_delkey(const struct ovsrec_ct_timeout_policy *,  const char *);
883
void ovsrec_ct_timeout_policy_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
884
unsigned int ovsrec_ct_timeout_policy_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
885
void ovsrec_ct_timeout_policy_update_timeouts_setkey(const struct ovsrec_ct_timeout_policy *,  const char *, int64_t );
886
void ovsrec_ct_timeout_policy_update_timeouts_delkey(const struct ovsrec_ct_timeout_policy *,  const char *);
887
void ovsrec_ct_timeout_policy_add_clause_timeouts(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **key_timeouts, const int64_t *value_timeouts, size_t n_timeouts);
888
unsigned int ovsrec_ct_timeout_policy_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
889
890
struct ovsrec_ct_timeout_policy *ovsrec_ct_timeout_policy_index_init_row(struct ovsdb_idl_index *);
891
void ovsrec_ct_timeout_policy_index_set_external_ids(const struct ovsrec_ct_timeout_policy *,
892
const struct smap *);
893
void ovsrec_ct_timeout_policy_index_set_timeouts(const struct ovsrec_ct_timeout_policy *,
894
const char **key_timeouts, const int64_t *value_timeouts, size_t n_timeouts);
895

896
/* CT_Zone table. */
897
struct ovsrec_ct_zone {
898
  struct ovsdb_idl_row header_;
899
900
  /* external_ids column. */
901
  struct smap external_ids;
902
903
  /* limit column. */
904
  int64_t *limit;
905
  size_t n_limit;
906
907
  /* timeout_policy column. */
908
  struct ovsrec_ct_timeout_policy *timeout_policy;
909
};
910
911
enum ovsrec_ct_zone_column_id {
912
    OVSREC_CT_ZONE_COL_EXTERNAL_IDS,
913
    OVSREC_CT_ZONE_COL_LIMIT,
914
    OVSREC_CT_ZONE_COL_TIMEOUT_POLICY,
915
    OVSREC_CT_ZONE_N_COLUMNS
916
};
917
918
0
#define ovsrec_ct_zone_col_external_ids (ovsrec_ct_zone_columns[OVSREC_CT_ZONE_COL_EXTERNAL_IDS])
919
0
#define ovsrec_ct_zone_col_limit (ovsrec_ct_zone_columns[OVSREC_CT_ZONE_COL_LIMIT])
920
0
#define ovsrec_ct_zone_col_timeout_policy (ovsrec_ct_zone_columns[OVSREC_CT_ZONE_COL_TIMEOUT_POLICY])
921
922
extern struct ovsdb_idl_column ovsrec_ct_zone_columns[OVSREC_CT_ZONE_N_COLUMNS];
923
bool ovsrec_server_has_ct_zone_table_col_external_ids(const struct ovsdb_idl *); 
924
const struct ovsdb_type *ovsrec_ct_zone_external_ids_server_type(const struct ovsdb_idl *); 
925
bool ovsrec_server_has_ct_zone_table_col_limit(const struct ovsdb_idl *); 
926
const struct ovsdb_type *ovsrec_ct_zone_limit_server_type(const struct ovsdb_idl *); 
927
bool ovsrec_server_has_ct_zone_table_col_timeout_policy(const struct ovsdb_idl *); 
928
const struct ovsdb_type *ovsrec_ct_zone_timeout_policy_server_type(const struct ovsdb_idl *); 
929
930
bool ovsrec_server_has_ct_zone_table(const struct ovsdb_idl *);
931
const struct ovsrec_ct_zone_table *ovsrec_ct_zone_table_get(const struct ovsdb_idl *);
932
const struct ovsrec_ct_zone *ovsrec_ct_zone_table_first(const struct ovsrec_ct_zone_table *);
933
934
#define OVSREC_CT_ZONE_TABLE_FOR_EACH(ROW, TABLE) \
935
        for ((ROW) = ovsrec_ct_zone_table_first(TABLE); \
936
             (ROW); \
937
             (ROW) = ovsrec_ct_zone_next(ROW))
938
#define OVSREC_CT_ZONE_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
939
        for ((ROW) = ovsrec_ct_zone_table_first(TABLE); \
940
             (ROW) ? ((NEXT) = ovsrec_ct_zone_next(ROW), 1) : 0; \
941
             (ROW) = (NEXT))
942
#define OVSREC_CT_ZONE_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
943
        for (const struct ovsrec_ct_zone * ROW__next = ((ROW) = ovsrec_ct_zone_table_first(TABLE), NULL); \
944
             (ROW) ? (ROW__next = ovsrec_ct_zone_next(ROW), 1) : (ROW__next = NULL, 0); \
945
             (ROW) = ROW__next)
946
#define OVSREC_CT_ZONE_TABLE_FOR_EACH_SAFE(...)                                        \
947
        OVERLOAD_SAFE_MACRO(OVSREC_CT_ZONE_TABLE_FOR_EACH_SAFE_LONG,                   \
948
                            OVSREC_CT_ZONE_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
949
950
951
const struct ovsrec_ct_zone *ovsrec_ct_zone_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
952
const struct ovsrec_ct_zone *ovsrec_ct_zone_table_get_for_uuid(const struct ovsrec_ct_zone_table *, const struct uuid *);
953
const struct ovsrec_ct_zone *ovsrec_ct_zone_first(const struct ovsdb_idl *);
954
const struct ovsrec_ct_zone *ovsrec_ct_zone_next(const struct ovsrec_ct_zone *);
955
#define OVSREC_CT_ZONE_FOR_EACH(ROW, IDL) \
956
        for ((ROW) = ovsrec_ct_zone_first(IDL); \
957
             (ROW); \
958
             (ROW) = ovsrec_ct_zone_next(ROW))
959
#define OVSREC_CT_ZONE_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
960
        for ((ROW) = ovsrec_ct_zone_first(IDL); \
961
             (ROW) ? ((NEXT) = ovsrec_ct_zone_next(ROW), 1) : 0; \
962
             (ROW) = (NEXT))
963
#define OVSREC_CT_ZONE_FOR_EACH_SAFE_SHORT(ROW, IDL) \
964
        for (const struct ovsrec_ct_zone * ROW__next = ((ROW) = ovsrec_ct_zone_first(IDL), NULL); \
965
             (ROW) ? (ROW__next = ovsrec_ct_zone_next(ROW), 1) : (ROW__next = NULL, 0); \
966
             (ROW) = ROW__next)
967
#define OVSREC_CT_ZONE_FOR_EACH_SAFE(...)                                         \
968
        OVERLOAD_SAFE_MACRO(OVSREC_CT_ZONE_FOR_EACH_SAFE_LONG,                    \
969
                            OVSREC_CT_ZONE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
970
971
unsigned int ovsrec_ct_zone_get_seqno(const struct ovsdb_idl *);
972
unsigned int ovsrec_ct_zone_row_get_seqno(const struct ovsrec_ct_zone *row, enum ovsdb_idl_change change);
973
const struct ovsrec_ct_zone *ovsrec_ct_zone_track_get_first(const struct ovsdb_idl *);
974
const struct ovsrec_ct_zone *ovsrec_ct_zone_track_get_next(const struct ovsrec_ct_zone *);
975
#define OVSREC_CT_ZONE_FOR_EACH_TRACKED(ROW, IDL) \
976
        for ((ROW) = ovsrec_ct_zone_track_get_first(IDL); \
977
             (ROW); \
978
             (ROW) = ovsrec_ct_zone_track_get_next(ROW))
979
980
const struct ovsrec_ct_zone *ovsrec_ct_zone_table_track_get_first(const struct ovsrec_ct_zone_table *);
981
#define OVSREC_CT_ZONE_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
982
        for ((ROW) = ovsrec_ct_zone_table_track_get_first(TABLE); \
983
             (ROW); \
984
             (ROW) = ovsrec_ct_zone_track_get_next(ROW))
985
986
987
/* Returns true if 'row' was inserted since the last change tracking reset.
988
 *
989
 * Note: This can only be used to test rows of tracked changes. This cannot be
990
 * used to test if an uncommitted row that has been added locally is new or it
991
 * may given unexpected results. */
992
static inline bool ovsrec_ct_zone_is_new(const struct ovsrec_ct_zone *row)
993
0
{
994
0
    return ovsrec_ct_zone_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
995
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_ct_zone_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_ct_zone_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_ct_zone_is_new
996
997
/* Returns true if 'row' was deleted since the last change tracking reset.
998
 *
999
 * Note: This can only be used to test rows of tracked changes. This cannot be
1000
 * used to test if an uncommitted row that has been added locally has been
1001
 * deleted or it may given unexpected results. */
1002
static inline bool ovsrec_ct_zone_is_deleted(const struct ovsrec_ct_zone *row)
1003
0
{
1004
0
    return ovsrec_ct_zone_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
1005
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_ct_zone_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_ct_zone_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_ct_zone_is_deleted
1006
1007
void ovsrec_ct_zone_index_destroy_row(const struct ovsrec_ct_zone *);
1008
1009
struct ovsrec_ct_zone *ovsrec_ct_zone_index_find(struct ovsdb_idl_index *, const struct ovsrec_ct_zone *);
1010
1011
int ovsrec_ct_zone_index_compare(
1012
    struct ovsdb_idl_index *, 
1013
    const struct ovsrec_ct_zone *, 
1014
    const struct ovsrec_ct_zone *);
1015
struct ovsdb_idl_cursor ovsrec_ct_zone_cursor_first(struct ovsdb_idl_index *);
1016
struct ovsdb_idl_cursor ovsrec_ct_zone_cursor_first_eq(
1017
    struct ovsdb_idl_index *, const struct ovsrec_ct_zone *);
1018
struct ovsdb_idl_cursor ovsrec_ct_zone_cursor_first_ge(
1019
    struct ovsdb_idl_index *, const struct ovsrec_ct_zone *);
1020
1021
struct ovsrec_ct_zone *ovsrec_ct_zone_cursor_data(struct ovsdb_idl_cursor *);
1022
1023
#define OVSREC_CT_ZONE_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
1024
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ct_zone_cursor_first_ge(INDEX, FROM); \
1025
             (cursor__.position \
1026
              && ((ROW) = ovsrec_ct_zone_cursor_data(&cursor__), \
1027
                  !(TO) || ovsrec_ct_zone_index_compare(INDEX, ROW, TO) <= 0)); \
1028
             ovsdb_idl_cursor_next(&cursor__))
1029
#define OVSREC_CT_ZONE_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
1030
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ct_zone_cursor_first_eq(INDEX, KEY); \
1031
             (cursor__.position \
1032
              ? ((ROW) = ovsrec_ct_zone_cursor_data(&cursor__), \
1033
                 ovsdb_idl_cursor_next_eq(&cursor__), \
1034
                 true) \
1035
              : false); \
1036
            )
1037
#define OVSREC_CT_ZONE_FOR_EACH_BYINDEX(ROW, INDEX) \
1038
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ct_zone_cursor_first(INDEX); \
1039
             (cursor__.position \
1040
              ? ((ROW) = ovsrec_ct_zone_cursor_data(&cursor__), \
1041
                 ovsdb_idl_cursor_next(&cursor__), \
1042
                 true) \
1043
              : false); \
1044
            )
1045
1046
void ovsrec_ct_zone_init(struct ovsrec_ct_zone *);
1047
void ovsrec_ct_zone_delete(const struct ovsrec_ct_zone *);
1048
struct ovsrec_ct_zone *ovsrec_ct_zone_insert(struct ovsdb_idl_txn *);
1049
struct ovsrec_ct_zone *ovsrec_ct_zone_insert_persist_uuid(
1050
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
1051
1052
/* Returns true if the tracked column referenced by 'enum ovsrec_ct_zone_column_id' of
1053
 * the row referenced by 'struct ovsrec_ct_zone *' was updated since the last change
1054
 * tracking reset.
1055
 *
1056
 * Note: This can only be used to test rows of tracked changes. This cannot be
1057
 * used to test if an uncommitted row that has been added locally has been
1058
 * updated or it may given unexpected results. */
1059
bool ovsrec_ct_zone_is_updated(const struct ovsrec_ct_zone *, enum ovsrec_ct_zone_column_id);
1060
1061
void ovsrec_ct_zone_verify_external_ids(const struct ovsrec_ct_zone *);
1062
void ovsrec_ct_zone_verify_limit(const struct ovsrec_ct_zone *);
1063
void ovsrec_ct_zone_verify_timeout_policy(const struct ovsrec_ct_zone *);
1064
1065
const struct ovsdb_datum *ovsrec_ct_zone_get_external_ids(const struct ovsrec_ct_zone *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
1066
const struct ovsdb_datum *ovsrec_ct_zone_get_limit(const struct ovsrec_ct_zone *, enum ovsdb_atomic_type key_type);
1067
const struct ovsdb_datum *ovsrec_ct_zone_get_timeout_policy(const struct ovsrec_ct_zone *, enum ovsdb_atomic_type key_type);
1068
1069
void ovsrec_ct_zone_set_external_ids(const struct ovsrec_ct_zone *, const struct smap *);
1070
void ovsrec_ct_zone_set_limit(const struct ovsrec_ct_zone *, const int64_t *limit, size_t n_limit);
1071
void ovsrec_ct_zone_set_timeout_policy(const struct ovsrec_ct_zone *, const struct ovsrec_ct_timeout_policy *timeout_policy);
1072
1073
void ovsrec_ct_zone_update_external_ids_setkey(const struct ovsrec_ct_zone *,  const char *, const char *);
1074
void ovsrec_ct_zone_update_external_ids_delkey(const struct ovsrec_ct_zone *,  const char *);
1075
void ovsrec_ct_zone_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
1076
unsigned int ovsrec_ct_zone_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1077
void ovsrec_ct_zone_update_limit_addvalue(const struct ovsrec_ct_zone *,  int64_t );
1078
void ovsrec_ct_zone_update_limit_delvalue(const struct ovsrec_ct_zone *,  int64_t );
1079
void ovsrec_ct_zone_add_clause_limit(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *limit, size_t n_limit);
1080
unsigned int ovsrec_ct_zone_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1081
void ovsrec_ct_zone_update_timeout_policy_addvalue(const struct ovsrec_ct_zone *,  const struct ovsrec_ct_timeout_policy *);
1082
void ovsrec_ct_zone_update_timeout_policy_delvalue(const struct ovsrec_ct_zone *,  const struct ovsrec_ct_timeout_policy *);
1083
void ovsrec_ct_zone_add_clause_timeout_policy(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *timeout_policy);
1084
unsigned int ovsrec_ct_zone_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1085
1086
struct ovsrec_ct_zone *ovsrec_ct_zone_index_init_row(struct ovsdb_idl_index *);
1087
void ovsrec_ct_zone_index_set_external_ids(const struct ovsrec_ct_zone *,
1088
const struct smap *);
1089
void ovsrec_ct_zone_index_set_limit(const struct ovsrec_ct_zone *,
1090
const int64_t *limit, size_t n_limit);
1091
void ovsrec_ct_zone_index_set_timeout_policy(const struct ovsrec_ct_zone *,
1092
const struct ovsrec_ct_timeout_policy *timeout_policy);
1093

1094
/* Controller table. */
1095
struct ovsrec_controller {
1096
  struct ovsdb_idl_row header_;
1097
1098
  /* connection_mode column. */
1099
  char *connection_mode;
1100
1101
  /* controller_burst_limit column. */
1102
  int64_t *controller_burst_limit;
1103
  size_t n_controller_burst_limit;
1104
1105
  /* controller_queue_size column. */
1106
  int64_t *controller_queue_size;
1107
  size_t n_controller_queue_size;
1108
1109
  /* controller_rate_limit column. */
1110
  int64_t *controller_rate_limit;
1111
  size_t n_controller_rate_limit;
1112
1113
  /* enable_async_messages column. */
1114
  bool *enable_async_messages;
1115
  size_t n_enable_async_messages;
1116
1117
  /* external_ids column. */
1118
  struct smap external_ids;
1119
1120
  /* inactivity_probe column. */
1121
  int64_t *inactivity_probe;
1122
  size_t n_inactivity_probe;
1123
1124
  /* is_connected column. */
1125
  bool is_connected;
1126
1127
  /* local_gateway column. */
1128
  char *local_gateway;
1129
1130
  /* local_ip column. */
1131
  char *local_ip;
1132
1133
  /* local_netmask column. */
1134
  char *local_netmask;
1135
1136
  /* max_backoff column. */
1137
  int64_t *max_backoff;
1138
  size_t n_max_backoff;
1139
1140
  /* other_config column. */
1141
  struct smap other_config;
1142
1143
  /* role column. */
1144
  char *role;
1145
1146
  /* status column. */
1147
  struct smap status;
1148
1149
  /* target column. */
1150
  char *target; /* Always nonnull. */
1151
1152
  /* type column. */
1153
  char *type;
1154
};
1155
1156
enum ovsrec_controller_column_id {
1157
    OVSREC_CONTROLLER_COL_CONNECTION_MODE,
1158
    OVSREC_CONTROLLER_COL_CONTROLLER_BURST_LIMIT,
1159
    OVSREC_CONTROLLER_COL_CONTROLLER_QUEUE_SIZE,
1160
    OVSREC_CONTROLLER_COL_CONTROLLER_RATE_LIMIT,
1161
    OVSREC_CONTROLLER_COL_ENABLE_ASYNC_MESSAGES,
1162
    OVSREC_CONTROLLER_COL_EXTERNAL_IDS,
1163
    OVSREC_CONTROLLER_COL_INACTIVITY_PROBE,
1164
    OVSREC_CONTROLLER_COL_IS_CONNECTED,
1165
    OVSREC_CONTROLLER_COL_LOCAL_GATEWAY,
1166
    OVSREC_CONTROLLER_COL_LOCAL_IP,
1167
    OVSREC_CONTROLLER_COL_LOCAL_NETMASK,
1168
    OVSREC_CONTROLLER_COL_MAX_BACKOFF,
1169
    OVSREC_CONTROLLER_COL_OTHER_CONFIG,
1170
    OVSREC_CONTROLLER_COL_ROLE,
1171
    OVSREC_CONTROLLER_COL_STATUS,
1172
    OVSREC_CONTROLLER_COL_TARGET,
1173
    OVSREC_CONTROLLER_COL_TYPE,
1174
    OVSREC_CONTROLLER_N_COLUMNS
1175
};
1176
1177
0
#define ovsrec_controller_col_connection_mode (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_CONNECTION_MODE])
1178
0
#define ovsrec_controller_col_controller_burst_limit (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_CONTROLLER_BURST_LIMIT])
1179
0
#define ovsrec_controller_col_controller_queue_size (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_CONTROLLER_QUEUE_SIZE])
1180
0
#define ovsrec_controller_col_controller_rate_limit (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_CONTROLLER_RATE_LIMIT])
1181
0
#define ovsrec_controller_col_enable_async_messages (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_ENABLE_ASYNC_MESSAGES])
1182
0
#define ovsrec_controller_col_external_ids (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_EXTERNAL_IDS])
1183
0
#define ovsrec_controller_col_inactivity_probe (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_INACTIVITY_PROBE])
1184
0
#define ovsrec_controller_col_is_connected (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_IS_CONNECTED])
1185
0
#define ovsrec_controller_col_local_gateway (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_LOCAL_GATEWAY])
1186
0
#define ovsrec_controller_col_local_ip (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_LOCAL_IP])
1187
0
#define ovsrec_controller_col_local_netmask (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_LOCAL_NETMASK])
1188
0
#define ovsrec_controller_col_max_backoff (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_MAX_BACKOFF])
1189
0
#define ovsrec_controller_col_other_config (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_OTHER_CONFIG])
1190
0
#define ovsrec_controller_col_role (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_ROLE])
1191
0
#define ovsrec_controller_col_status (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_STATUS])
1192
0
#define ovsrec_controller_col_target (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_TARGET])
1193
0
#define ovsrec_controller_col_type (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_TYPE])
1194
1195
extern struct ovsdb_idl_column ovsrec_controller_columns[OVSREC_CONTROLLER_N_COLUMNS];
1196
bool ovsrec_server_has_controller_table_col_connection_mode(const struct ovsdb_idl *); 
1197
const struct ovsdb_type *ovsrec_controller_connection_mode_server_type(const struct ovsdb_idl *); 
1198
bool ovsrec_server_has_controller_table_col_controller_burst_limit(const struct ovsdb_idl *); 
1199
const struct ovsdb_type *ovsrec_controller_controller_burst_limit_server_type(const struct ovsdb_idl *); 
1200
bool ovsrec_server_has_controller_table_col_controller_queue_size(const struct ovsdb_idl *); 
1201
const struct ovsdb_type *ovsrec_controller_controller_queue_size_server_type(const struct ovsdb_idl *); 
1202
bool ovsrec_server_has_controller_table_col_controller_rate_limit(const struct ovsdb_idl *); 
1203
const struct ovsdb_type *ovsrec_controller_controller_rate_limit_server_type(const struct ovsdb_idl *); 
1204
bool ovsrec_server_has_controller_table_col_enable_async_messages(const struct ovsdb_idl *); 
1205
const struct ovsdb_type *ovsrec_controller_enable_async_messages_server_type(const struct ovsdb_idl *); 
1206
bool ovsrec_server_has_controller_table_col_external_ids(const struct ovsdb_idl *); 
1207
const struct ovsdb_type *ovsrec_controller_external_ids_server_type(const struct ovsdb_idl *); 
1208
bool ovsrec_server_has_controller_table_col_inactivity_probe(const struct ovsdb_idl *); 
1209
const struct ovsdb_type *ovsrec_controller_inactivity_probe_server_type(const struct ovsdb_idl *); 
1210
bool ovsrec_server_has_controller_table_col_is_connected(const struct ovsdb_idl *); 
1211
const struct ovsdb_type *ovsrec_controller_is_connected_server_type(const struct ovsdb_idl *); 
1212
bool ovsrec_server_has_controller_table_col_local_gateway(const struct ovsdb_idl *); 
1213
const struct ovsdb_type *ovsrec_controller_local_gateway_server_type(const struct ovsdb_idl *); 
1214
bool ovsrec_server_has_controller_table_col_local_ip(const struct ovsdb_idl *); 
1215
const struct ovsdb_type *ovsrec_controller_local_ip_server_type(const struct ovsdb_idl *); 
1216
bool ovsrec_server_has_controller_table_col_local_netmask(const struct ovsdb_idl *); 
1217
const struct ovsdb_type *ovsrec_controller_local_netmask_server_type(const struct ovsdb_idl *); 
1218
bool ovsrec_server_has_controller_table_col_max_backoff(const struct ovsdb_idl *); 
1219
const struct ovsdb_type *ovsrec_controller_max_backoff_server_type(const struct ovsdb_idl *); 
1220
bool ovsrec_server_has_controller_table_col_other_config(const struct ovsdb_idl *); 
1221
const struct ovsdb_type *ovsrec_controller_other_config_server_type(const struct ovsdb_idl *); 
1222
bool ovsrec_server_has_controller_table_col_role(const struct ovsdb_idl *); 
1223
const struct ovsdb_type *ovsrec_controller_role_server_type(const struct ovsdb_idl *); 
1224
bool ovsrec_server_has_controller_table_col_status(const struct ovsdb_idl *); 
1225
const struct ovsdb_type *ovsrec_controller_status_server_type(const struct ovsdb_idl *); 
1226
bool ovsrec_server_has_controller_table_col_target(const struct ovsdb_idl *); 
1227
const struct ovsdb_type *ovsrec_controller_target_server_type(const struct ovsdb_idl *); 
1228
bool ovsrec_server_has_controller_table_col_type(const struct ovsdb_idl *); 
1229
const struct ovsdb_type *ovsrec_controller_type_server_type(const struct ovsdb_idl *); 
1230
1231
bool ovsrec_server_has_controller_table(const struct ovsdb_idl *);
1232
const struct ovsrec_controller_table *ovsrec_controller_table_get(const struct ovsdb_idl *);
1233
const struct ovsrec_controller *ovsrec_controller_table_first(const struct ovsrec_controller_table *);
1234
1235
#define OVSREC_CONTROLLER_TABLE_FOR_EACH(ROW, TABLE) \
1236
        for ((ROW) = ovsrec_controller_table_first(TABLE); \
1237
             (ROW); \
1238
             (ROW) = ovsrec_controller_next(ROW))
1239
#define OVSREC_CONTROLLER_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
1240
        for ((ROW) = ovsrec_controller_table_first(TABLE); \
1241
             (ROW) ? ((NEXT) = ovsrec_controller_next(ROW), 1) : 0; \
1242
             (ROW) = (NEXT))
1243
#define OVSREC_CONTROLLER_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
1244
        for (const struct ovsrec_controller * ROW__next = ((ROW) = ovsrec_controller_table_first(TABLE), NULL); \
1245
             (ROW) ? (ROW__next = ovsrec_controller_next(ROW), 1) : (ROW__next = NULL, 0); \
1246
             (ROW) = ROW__next)
1247
#define OVSREC_CONTROLLER_TABLE_FOR_EACH_SAFE(...)                                        \
1248
        OVERLOAD_SAFE_MACRO(OVSREC_CONTROLLER_TABLE_FOR_EACH_SAFE_LONG,                   \
1249
                            OVSREC_CONTROLLER_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
1250
1251
1252
const struct ovsrec_controller *ovsrec_controller_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
1253
const struct ovsrec_controller *ovsrec_controller_table_get_for_uuid(const struct ovsrec_controller_table *, const struct uuid *);
1254
const struct ovsrec_controller *ovsrec_controller_first(const struct ovsdb_idl *);
1255
const struct ovsrec_controller *ovsrec_controller_next(const struct ovsrec_controller *);
1256
#define OVSREC_CONTROLLER_FOR_EACH(ROW, IDL) \
1257
        for ((ROW) = ovsrec_controller_first(IDL); \
1258
             (ROW); \
1259
             (ROW) = ovsrec_controller_next(ROW))
1260
#define OVSREC_CONTROLLER_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
1261
        for ((ROW) = ovsrec_controller_first(IDL); \
1262
             (ROW) ? ((NEXT) = ovsrec_controller_next(ROW), 1) : 0; \
1263
             (ROW) = (NEXT))
1264
#define OVSREC_CONTROLLER_FOR_EACH_SAFE_SHORT(ROW, IDL) \
1265
        for (const struct ovsrec_controller * ROW__next = ((ROW) = ovsrec_controller_first(IDL), NULL); \
1266
             (ROW) ? (ROW__next = ovsrec_controller_next(ROW), 1) : (ROW__next = NULL, 0); \
1267
             (ROW) = ROW__next)
1268
#define OVSREC_CONTROLLER_FOR_EACH_SAFE(...)                                         \
1269
        OVERLOAD_SAFE_MACRO(OVSREC_CONTROLLER_FOR_EACH_SAFE_LONG,                    \
1270
                            OVSREC_CONTROLLER_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
1271
1272
unsigned int ovsrec_controller_get_seqno(const struct ovsdb_idl *);
1273
unsigned int ovsrec_controller_row_get_seqno(const struct ovsrec_controller *row, enum ovsdb_idl_change change);
1274
const struct ovsrec_controller *ovsrec_controller_track_get_first(const struct ovsdb_idl *);
1275
const struct ovsrec_controller *ovsrec_controller_track_get_next(const struct ovsrec_controller *);
1276
#define OVSREC_CONTROLLER_FOR_EACH_TRACKED(ROW, IDL) \
1277
        for ((ROW) = ovsrec_controller_track_get_first(IDL); \
1278
             (ROW); \
1279
             (ROW) = ovsrec_controller_track_get_next(ROW))
1280
1281
const struct ovsrec_controller *ovsrec_controller_table_track_get_first(const struct ovsrec_controller_table *);
1282
#define OVSREC_CONTROLLER_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
1283
        for ((ROW) = ovsrec_controller_table_track_get_first(TABLE); \
1284
             (ROW); \
1285
             (ROW) = ovsrec_controller_track_get_next(ROW))
1286
1287
1288
/* Returns true if 'row' was inserted since the last change tracking reset.
1289
 *
1290
 * Note: This can only be used to test rows of tracked changes. This cannot be
1291
 * used to test if an uncommitted row that has been added locally is new or it
1292
 * may given unexpected results. */
1293
static inline bool ovsrec_controller_is_new(const struct ovsrec_controller *row)
1294
0
{
1295
0
    return ovsrec_controller_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
1296
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_controller_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_controller_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_controller_is_new
1297
1298
/* Returns true if 'row' was deleted since the last change tracking reset.
1299
 *
1300
 * Note: This can only be used to test rows of tracked changes. This cannot be
1301
 * used to test if an uncommitted row that has been added locally has been
1302
 * deleted or it may given unexpected results. */
1303
static inline bool ovsrec_controller_is_deleted(const struct ovsrec_controller *row)
1304
0
{
1305
0
    return ovsrec_controller_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
1306
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_controller_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_controller_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_controller_is_deleted
1307
1308
void ovsrec_controller_index_destroy_row(const struct ovsrec_controller *);
1309
1310
struct ovsrec_controller *ovsrec_controller_index_find(struct ovsdb_idl_index *, const struct ovsrec_controller *);
1311
1312
int ovsrec_controller_index_compare(
1313
    struct ovsdb_idl_index *, 
1314
    const struct ovsrec_controller *, 
1315
    const struct ovsrec_controller *);
1316
struct ovsdb_idl_cursor ovsrec_controller_cursor_first(struct ovsdb_idl_index *);
1317
struct ovsdb_idl_cursor ovsrec_controller_cursor_first_eq(
1318
    struct ovsdb_idl_index *, const struct ovsrec_controller *);
1319
struct ovsdb_idl_cursor ovsrec_controller_cursor_first_ge(
1320
    struct ovsdb_idl_index *, const struct ovsrec_controller *);
1321
1322
struct ovsrec_controller *ovsrec_controller_cursor_data(struct ovsdb_idl_cursor *);
1323
1324
#define OVSREC_CONTROLLER_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
1325
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_controller_cursor_first_ge(INDEX, FROM); \
1326
             (cursor__.position \
1327
              && ((ROW) = ovsrec_controller_cursor_data(&cursor__), \
1328
                  !(TO) || ovsrec_controller_index_compare(INDEX, ROW, TO) <= 0)); \
1329
             ovsdb_idl_cursor_next(&cursor__))
1330
#define OVSREC_CONTROLLER_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
1331
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_controller_cursor_first_eq(INDEX, KEY); \
1332
             (cursor__.position \
1333
              ? ((ROW) = ovsrec_controller_cursor_data(&cursor__), \
1334
                 ovsdb_idl_cursor_next_eq(&cursor__), \
1335
                 true) \
1336
              : false); \
1337
            )
1338
#define OVSREC_CONTROLLER_FOR_EACH_BYINDEX(ROW, INDEX) \
1339
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_controller_cursor_first(INDEX); \
1340
             (cursor__.position \
1341
              ? ((ROW) = ovsrec_controller_cursor_data(&cursor__), \
1342
                 ovsdb_idl_cursor_next(&cursor__), \
1343
                 true) \
1344
              : false); \
1345
            )
1346
1347
void ovsrec_controller_init(struct ovsrec_controller *);
1348
void ovsrec_controller_delete(const struct ovsrec_controller *);
1349
struct ovsrec_controller *ovsrec_controller_insert(struct ovsdb_idl_txn *);
1350
struct ovsrec_controller *ovsrec_controller_insert_persist_uuid(
1351
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
1352
1353
/* Returns true if the tracked column referenced by 'enum ovsrec_controller_column_id' of
1354
 * the row referenced by 'struct ovsrec_controller *' was updated since the last change
1355
 * tracking reset.
1356
 *
1357
 * Note: This can only be used to test rows of tracked changes. This cannot be
1358
 * used to test if an uncommitted row that has been added locally has been
1359
 * updated or it may given unexpected results. */
1360
bool ovsrec_controller_is_updated(const struct ovsrec_controller *, enum ovsrec_controller_column_id);
1361
1362
void ovsrec_controller_verify_connection_mode(const struct ovsrec_controller *);
1363
void ovsrec_controller_verify_controller_burst_limit(const struct ovsrec_controller *);
1364
void ovsrec_controller_verify_controller_queue_size(const struct ovsrec_controller *);
1365
void ovsrec_controller_verify_controller_rate_limit(const struct ovsrec_controller *);
1366
void ovsrec_controller_verify_enable_async_messages(const struct ovsrec_controller *);
1367
void ovsrec_controller_verify_external_ids(const struct ovsrec_controller *);
1368
void ovsrec_controller_verify_inactivity_probe(const struct ovsrec_controller *);
1369
void ovsrec_controller_verify_is_connected(const struct ovsrec_controller *);
1370
void ovsrec_controller_verify_local_gateway(const struct ovsrec_controller *);
1371
void ovsrec_controller_verify_local_ip(const struct ovsrec_controller *);
1372
void ovsrec_controller_verify_local_netmask(const struct ovsrec_controller *);
1373
void ovsrec_controller_verify_max_backoff(const struct ovsrec_controller *);
1374
void ovsrec_controller_verify_other_config(const struct ovsrec_controller *);
1375
void ovsrec_controller_verify_role(const struct ovsrec_controller *);
1376
void ovsrec_controller_verify_status(const struct ovsrec_controller *);
1377
void ovsrec_controller_verify_target(const struct ovsrec_controller *);
1378
void ovsrec_controller_verify_type(const struct ovsrec_controller *);
1379
1380
const struct ovsdb_datum *ovsrec_controller_get_connection_mode(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1381
const struct ovsdb_datum *ovsrec_controller_get_controller_burst_limit(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1382
const struct ovsdb_datum *ovsrec_controller_get_controller_queue_size(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1383
const struct ovsdb_datum *ovsrec_controller_get_controller_rate_limit(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1384
const struct ovsdb_datum *ovsrec_controller_get_enable_async_messages(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1385
const struct ovsdb_datum *ovsrec_controller_get_external_ids(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
1386
const struct ovsdb_datum *ovsrec_controller_get_inactivity_probe(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1387
const struct ovsdb_datum *ovsrec_controller_get_is_connected(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1388
const struct ovsdb_datum *ovsrec_controller_get_local_gateway(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1389
const struct ovsdb_datum *ovsrec_controller_get_local_ip(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1390
const struct ovsdb_datum *ovsrec_controller_get_local_netmask(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1391
const struct ovsdb_datum *ovsrec_controller_get_max_backoff(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1392
const struct ovsdb_datum *ovsrec_controller_get_other_config(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
1393
const struct ovsdb_datum *ovsrec_controller_get_role(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1394
const struct ovsdb_datum *ovsrec_controller_get_status(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
1395
const struct ovsdb_datum *ovsrec_controller_get_target(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1396
const struct ovsdb_datum *ovsrec_controller_get_type(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
1397
1398
void ovsrec_controller_set_connection_mode(const struct ovsrec_controller *, const char *connection_mode);
1399
void ovsrec_controller_set_controller_burst_limit(const struct ovsrec_controller *, const int64_t *controller_burst_limit, size_t n_controller_burst_limit);
1400
void ovsrec_controller_set_controller_queue_size(const struct ovsrec_controller *, const int64_t *controller_queue_size, size_t n_controller_queue_size);
1401
void ovsrec_controller_set_controller_rate_limit(const struct ovsrec_controller *, const int64_t *controller_rate_limit, size_t n_controller_rate_limit);
1402
void ovsrec_controller_set_enable_async_messages(const struct ovsrec_controller *, const bool *enable_async_messages, size_t n_enable_async_messages);
1403
void ovsrec_controller_set_external_ids(const struct ovsrec_controller *, const struct smap *);
1404
void ovsrec_controller_set_inactivity_probe(const struct ovsrec_controller *, const int64_t *inactivity_probe, size_t n_inactivity_probe);
1405
void ovsrec_controller_set_is_connected(const struct ovsrec_controller *, bool is_connected);
1406
void ovsrec_controller_set_local_gateway(const struct ovsrec_controller *, const char *local_gateway);
1407
void ovsrec_controller_set_local_ip(const struct ovsrec_controller *, const char *local_ip);
1408
void ovsrec_controller_set_local_netmask(const struct ovsrec_controller *, const char *local_netmask);
1409
void ovsrec_controller_set_max_backoff(const struct ovsrec_controller *, const int64_t *max_backoff, size_t n_max_backoff);
1410
void ovsrec_controller_set_other_config(const struct ovsrec_controller *, const struct smap *);
1411
void ovsrec_controller_set_role(const struct ovsrec_controller *, const char *role);
1412
void ovsrec_controller_set_status(const struct ovsrec_controller *, const struct smap *);
1413
void ovsrec_controller_set_target(const struct ovsrec_controller *, const char *target);
1414
void ovsrec_controller_set_type(const struct ovsrec_controller *, const char *type);
1415
1416
void ovsrec_controller_update_connection_mode_addvalue(const struct ovsrec_controller *,  const char *);
1417
void ovsrec_controller_update_connection_mode_delvalue(const struct ovsrec_controller *,  const char *);
1418
void ovsrec_controller_add_clause_connection_mode(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *connection_mode);
1419
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1420
void ovsrec_controller_update_controller_burst_limit_addvalue(const struct ovsrec_controller *,  int64_t );
1421
void ovsrec_controller_update_controller_burst_limit_delvalue(const struct ovsrec_controller *,  int64_t );
1422
void ovsrec_controller_add_clause_controller_burst_limit(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *controller_burst_limit, size_t n_controller_burst_limit);
1423
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1424
void ovsrec_controller_update_controller_queue_size_addvalue(const struct ovsrec_controller *,  int64_t );
1425
void ovsrec_controller_update_controller_queue_size_delvalue(const struct ovsrec_controller *,  int64_t );
1426
void ovsrec_controller_add_clause_controller_queue_size(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *controller_queue_size, size_t n_controller_queue_size);
1427
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1428
void ovsrec_controller_update_controller_rate_limit_addvalue(const struct ovsrec_controller *,  int64_t );
1429
void ovsrec_controller_update_controller_rate_limit_delvalue(const struct ovsrec_controller *,  int64_t );
1430
void ovsrec_controller_add_clause_controller_rate_limit(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *controller_rate_limit, size_t n_controller_rate_limit);
1431
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1432
void ovsrec_controller_update_enable_async_messages_addvalue(const struct ovsrec_controller *,  bool );
1433
void ovsrec_controller_update_enable_async_messages_delvalue(const struct ovsrec_controller *,  bool );
1434
void ovsrec_controller_add_clause_enable_async_messages(struct ovsdb_idl_condition *, enum ovsdb_function function, const bool *enable_async_messages, size_t n_enable_async_messages);
1435
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1436
void ovsrec_controller_update_external_ids_setkey(const struct ovsrec_controller *,  const char *, const char *);
1437
void ovsrec_controller_update_external_ids_delkey(const struct ovsrec_controller *,  const char *);
1438
void ovsrec_controller_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
1439
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1440
void ovsrec_controller_update_inactivity_probe_addvalue(const struct ovsrec_controller *,  int64_t );
1441
void ovsrec_controller_update_inactivity_probe_delvalue(const struct ovsrec_controller *,  int64_t );
1442
void ovsrec_controller_add_clause_inactivity_probe(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *inactivity_probe, size_t n_inactivity_probe);
1443
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1444
void ovsrec_controller_add_clause_is_connected(struct ovsdb_idl_condition *, enum ovsdb_function function, bool is_connected);
1445
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1446
void ovsrec_controller_update_local_gateway_addvalue(const struct ovsrec_controller *,  const char *);
1447
void ovsrec_controller_update_local_gateway_delvalue(const struct ovsrec_controller *,  const char *);
1448
void ovsrec_controller_add_clause_local_gateway(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *local_gateway);
1449
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1450
void ovsrec_controller_update_local_ip_addvalue(const struct ovsrec_controller *,  const char *);
1451
void ovsrec_controller_update_local_ip_delvalue(const struct ovsrec_controller *,  const char *);
1452
void ovsrec_controller_add_clause_local_ip(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *local_ip);
1453
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1454
void ovsrec_controller_update_local_netmask_addvalue(const struct ovsrec_controller *,  const char *);
1455
void ovsrec_controller_update_local_netmask_delvalue(const struct ovsrec_controller *,  const char *);
1456
void ovsrec_controller_add_clause_local_netmask(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *local_netmask);
1457
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1458
void ovsrec_controller_update_max_backoff_addvalue(const struct ovsrec_controller *,  int64_t );
1459
void ovsrec_controller_update_max_backoff_delvalue(const struct ovsrec_controller *,  int64_t );
1460
void ovsrec_controller_add_clause_max_backoff(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *max_backoff, size_t n_max_backoff);
1461
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1462
void ovsrec_controller_update_other_config_setkey(const struct ovsrec_controller *,  const char *, const char *);
1463
void ovsrec_controller_update_other_config_delkey(const struct ovsrec_controller *,  const char *);
1464
void ovsrec_controller_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
1465
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1466
void ovsrec_controller_update_role_addvalue(const struct ovsrec_controller *,  const char *);
1467
void ovsrec_controller_update_role_delvalue(const struct ovsrec_controller *,  const char *);
1468
void ovsrec_controller_add_clause_role(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *role);
1469
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1470
void ovsrec_controller_update_status_setkey(const struct ovsrec_controller *,  const char *, const char *);
1471
void ovsrec_controller_update_status_delkey(const struct ovsrec_controller *,  const char *);
1472
void ovsrec_controller_add_clause_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
1473
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1474
void ovsrec_controller_add_clause_target(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *target);
1475
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1476
void ovsrec_controller_update_type_addvalue(const struct ovsrec_controller *,  const char *);
1477
void ovsrec_controller_update_type_delvalue(const struct ovsrec_controller *,  const char *);
1478
void ovsrec_controller_add_clause_type(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *type);
1479
unsigned int ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1480
1481
struct ovsrec_controller *ovsrec_controller_index_init_row(struct ovsdb_idl_index *);
1482
void ovsrec_controller_index_set_connection_mode(const struct ovsrec_controller *,
1483
const char *connection_mode);
1484
void ovsrec_controller_index_set_controller_burst_limit(const struct ovsrec_controller *,
1485
const int64_t *controller_burst_limit, size_t n_controller_burst_limit);
1486
void ovsrec_controller_index_set_controller_queue_size(const struct ovsrec_controller *,
1487
const int64_t *controller_queue_size, size_t n_controller_queue_size);
1488
void ovsrec_controller_index_set_controller_rate_limit(const struct ovsrec_controller *,
1489
const int64_t *controller_rate_limit, size_t n_controller_rate_limit);
1490
void ovsrec_controller_index_set_enable_async_messages(const struct ovsrec_controller *,
1491
const bool *enable_async_messages, size_t n_enable_async_messages);
1492
void ovsrec_controller_index_set_external_ids(const struct ovsrec_controller *,
1493
const struct smap *);
1494
void ovsrec_controller_index_set_inactivity_probe(const struct ovsrec_controller *,
1495
const int64_t *inactivity_probe, size_t n_inactivity_probe);
1496
void ovsrec_controller_index_set_is_connected(const struct ovsrec_controller *,
1497
bool is_connected);
1498
void ovsrec_controller_index_set_local_gateway(const struct ovsrec_controller *,
1499
const char *local_gateway);
1500
void ovsrec_controller_index_set_local_ip(const struct ovsrec_controller *,
1501
const char *local_ip);
1502
void ovsrec_controller_index_set_local_netmask(const struct ovsrec_controller *,
1503
const char *local_netmask);
1504
void ovsrec_controller_index_set_max_backoff(const struct ovsrec_controller *,
1505
const int64_t *max_backoff, size_t n_max_backoff);
1506
void ovsrec_controller_index_set_other_config(const struct ovsrec_controller *,
1507
const struct smap *);
1508
void ovsrec_controller_index_set_role(const struct ovsrec_controller *,
1509
const char *role);
1510
void ovsrec_controller_index_set_status(const struct ovsrec_controller *,
1511
const struct smap *);
1512
void ovsrec_controller_index_set_target(const struct ovsrec_controller *,
1513
const char *target);
1514
void ovsrec_controller_index_set_type(const struct ovsrec_controller *,
1515
const char *type);
1516

1517
/* Datapath table. */
1518
struct ovsrec_datapath {
1519
  struct ovsdb_idl_row header_;
1520
1521
  /* capabilities column. */
1522
  struct smap capabilities;
1523
1524
  /* ct_zone_default_limit column. */
1525
  int64_t *ct_zone_default_limit;
1526
  size_t n_ct_zone_default_limit;
1527
1528
  /* ct_zones column. */
1529
  int64_t *key_ct_zones;
1530
  struct ovsrec_ct_zone **value_ct_zones;
1531
  size_t n_ct_zones;
1532
1533
  /* datapath_version column. */
1534
  char *datapath_version; /* Always nonnull. */
1535
1536
  /* external_ids column. */
1537
  struct smap external_ids;
1538
};
1539
1540
enum ovsrec_datapath_column_id {
1541
    OVSREC_DATAPATH_COL_CAPABILITIES,
1542
    OVSREC_DATAPATH_COL_CT_ZONE_DEFAULT_LIMIT,
1543
    OVSREC_DATAPATH_COL_CT_ZONES,
1544
    OVSREC_DATAPATH_COL_DATAPATH_VERSION,
1545
    OVSREC_DATAPATH_COL_EXTERNAL_IDS,
1546
    OVSREC_DATAPATH_N_COLUMNS
1547
};
1548
1549
0
#define ovsrec_datapath_col_capabilities (ovsrec_datapath_columns[OVSREC_DATAPATH_COL_CAPABILITIES])
1550
0
#define ovsrec_datapath_col_ct_zone_default_limit (ovsrec_datapath_columns[OVSREC_DATAPATH_COL_CT_ZONE_DEFAULT_LIMIT])
1551
0
#define ovsrec_datapath_col_ct_zones (ovsrec_datapath_columns[OVSREC_DATAPATH_COL_CT_ZONES])
1552
0
#define ovsrec_datapath_col_datapath_version (ovsrec_datapath_columns[OVSREC_DATAPATH_COL_DATAPATH_VERSION])
1553
0
#define ovsrec_datapath_col_external_ids (ovsrec_datapath_columns[OVSREC_DATAPATH_COL_EXTERNAL_IDS])
1554
1555
extern struct ovsdb_idl_column ovsrec_datapath_columns[OVSREC_DATAPATH_N_COLUMNS];
1556
bool ovsrec_server_has_datapath_table_col_capabilities(const struct ovsdb_idl *); 
1557
const struct ovsdb_type *ovsrec_datapath_capabilities_server_type(const struct ovsdb_idl *); 
1558
bool ovsrec_server_has_datapath_table_col_ct_zone_default_limit(const struct ovsdb_idl *); 
1559
const struct ovsdb_type *ovsrec_datapath_ct_zone_default_limit_server_type(const struct ovsdb_idl *); 
1560
bool ovsrec_server_has_datapath_table_col_ct_zones(const struct ovsdb_idl *); 
1561
const struct ovsdb_type *ovsrec_datapath_ct_zones_server_type(const struct ovsdb_idl *); 
1562
bool ovsrec_server_has_datapath_table_col_datapath_version(const struct ovsdb_idl *); 
1563
const struct ovsdb_type *ovsrec_datapath_datapath_version_server_type(const struct ovsdb_idl *); 
1564
bool ovsrec_server_has_datapath_table_col_external_ids(const struct ovsdb_idl *); 
1565
const struct ovsdb_type *ovsrec_datapath_external_ids_server_type(const struct ovsdb_idl *); 
1566
1567
bool ovsrec_server_has_datapath_table(const struct ovsdb_idl *);
1568
const struct ovsrec_datapath_table *ovsrec_datapath_table_get(const struct ovsdb_idl *);
1569
const struct ovsrec_datapath *ovsrec_datapath_table_first(const struct ovsrec_datapath_table *);
1570
1571
#define OVSREC_DATAPATH_TABLE_FOR_EACH(ROW, TABLE) \
1572
        for ((ROW) = ovsrec_datapath_table_first(TABLE); \
1573
             (ROW); \
1574
             (ROW) = ovsrec_datapath_next(ROW))
1575
#define OVSREC_DATAPATH_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
1576
        for ((ROW) = ovsrec_datapath_table_first(TABLE); \
1577
             (ROW) ? ((NEXT) = ovsrec_datapath_next(ROW), 1) : 0; \
1578
             (ROW) = (NEXT))
1579
#define OVSREC_DATAPATH_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
1580
        for (const struct ovsrec_datapath * ROW__next = ((ROW) = ovsrec_datapath_table_first(TABLE), NULL); \
1581
             (ROW) ? (ROW__next = ovsrec_datapath_next(ROW), 1) : (ROW__next = NULL, 0); \
1582
             (ROW) = ROW__next)
1583
#define OVSREC_DATAPATH_TABLE_FOR_EACH_SAFE(...)                                        \
1584
        OVERLOAD_SAFE_MACRO(OVSREC_DATAPATH_TABLE_FOR_EACH_SAFE_LONG,                   \
1585
                            OVSREC_DATAPATH_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
1586
1587
1588
const struct ovsrec_datapath *ovsrec_datapath_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
1589
const struct ovsrec_datapath *ovsrec_datapath_table_get_for_uuid(const struct ovsrec_datapath_table *, const struct uuid *);
1590
const struct ovsrec_datapath *ovsrec_datapath_first(const struct ovsdb_idl *);
1591
const struct ovsrec_datapath *ovsrec_datapath_next(const struct ovsrec_datapath *);
1592
#define OVSREC_DATAPATH_FOR_EACH(ROW, IDL) \
1593
        for ((ROW) = ovsrec_datapath_first(IDL); \
1594
             (ROW); \
1595
             (ROW) = ovsrec_datapath_next(ROW))
1596
#define OVSREC_DATAPATH_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
1597
        for ((ROW) = ovsrec_datapath_first(IDL); \
1598
             (ROW) ? ((NEXT) = ovsrec_datapath_next(ROW), 1) : 0; \
1599
             (ROW) = (NEXT))
1600
#define OVSREC_DATAPATH_FOR_EACH_SAFE_SHORT(ROW, IDL) \
1601
        for (const struct ovsrec_datapath * ROW__next = ((ROW) = ovsrec_datapath_first(IDL), NULL); \
1602
             (ROW) ? (ROW__next = ovsrec_datapath_next(ROW), 1) : (ROW__next = NULL, 0); \
1603
             (ROW) = ROW__next)
1604
#define OVSREC_DATAPATH_FOR_EACH_SAFE(...)                                         \
1605
        OVERLOAD_SAFE_MACRO(OVSREC_DATAPATH_FOR_EACH_SAFE_LONG,                    \
1606
                            OVSREC_DATAPATH_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
1607
1608
unsigned int ovsrec_datapath_get_seqno(const struct ovsdb_idl *);
1609
unsigned int ovsrec_datapath_row_get_seqno(const struct ovsrec_datapath *row, enum ovsdb_idl_change change);
1610
const struct ovsrec_datapath *ovsrec_datapath_track_get_first(const struct ovsdb_idl *);
1611
const struct ovsrec_datapath *ovsrec_datapath_track_get_next(const struct ovsrec_datapath *);
1612
#define OVSREC_DATAPATH_FOR_EACH_TRACKED(ROW, IDL) \
1613
        for ((ROW) = ovsrec_datapath_track_get_first(IDL); \
1614
             (ROW); \
1615
             (ROW) = ovsrec_datapath_track_get_next(ROW))
1616
1617
const struct ovsrec_datapath *ovsrec_datapath_table_track_get_first(const struct ovsrec_datapath_table *);
1618
#define OVSREC_DATAPATH_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
1619
        for ((ROW) = ovsrec_datapath_table_track_get_first(TABLE); \
1620
             (ROW); \
1621
             (ROW) = ovsrec_datapath_track_get_next(ROW))
1622
1623
1624
/* Returns true if 'row' was inserted since the last change tracking reset.
1625
 *
1626
 * Note: This can only be used to test rows of tracked changes. This cannot be
1627
 * used to test if an uncommitted row that has been added locally is new or it
1628
 * may given unexpected results. */
1629
static inline bool ovsrec_datapath_is_new(const struct ovsrec_datapath *row)
1630
0
{
1631
0
    return ovsrec_datapath_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
1632
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_datapath_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_datapath_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_datapath_is_new
1633
1634
/* Returns true if 'row' was deleted since the last change tracking reset.
1635
 *
1636
 * Note: This can only be used to test rows of tracked changes. This cannot be
1637
 * used to test if an uncommitted row that has been added locally has been
1638
 * deleted or it may given unexpected results. */
1639
static inline bool ovsrec_datapath_is_deleted(const struct ovsrec_datapath *row)
1640
0
{
1641
0
    return ovsrec_datapath_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
1642
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_datapath_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_datapath_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_datapath_is_deleted
1643
1644
void ovsrec_datapath_index_destroy_row(const struct ovsrec_datapath *);
1645
1646
struct ovsrec_datapath *ovsrec_datapath_index_find(struct ovsdb_idl_index *, const struct ovsrec_datapath *);
1647
1648
int ovsrec_datapath_index_compare(
1649
    struct ovsdb_idl_index *, 
1650
    const struct ovsrec_datapath *, 
1651
    const struct ovsrec_datapath *);
1652
struct ovsdb_idl_cursor ovsrec_datapath_cursor_first(struct ovsdb_idl_index *);
1653
struct ovsdb_idl_cursor ovsrec_datapath_cursor_first_eq(
1654
    struct ovsdb_idl_index *, const struct ovsrec_datapath *);
1655
struct ovsdb_idl_cursor ovsrec_datapath_cursor_first_ge(
1656
    struct ovsdb_idl_index *, const struct ovsrec_datapath *);
1657
1658
struct ovsrec_datapath *ovsrec_datapath_cursor_data(struct ovsdb_idl_cursor *);
1659
1660
#define OVSREC_DATAPATH_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
1661
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_datapath_cursor_first_ge(INDEX, FROM); \
1662
             (cursor__.position \
1663
              && ((ROW) = ovsrec_datapath_cursor_data(&cursor__), \
1664
                  !(TO) || ovsrec_datapath_index_compare(INDEX, ROW, TO) <= 0)); \
1665
             ovsdb_idl_cursor_next(&cursor__))
1666
#define OVSREC_DATAPATH_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
1667
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_datapath_cursor_first_eq(INDEX, KEY); \
1668
             (cursor__.position \
1669
              ? ((ROW) = ovsrec_datapath_cursor_data(&cursor__), \
1670
                 ovsdb_idl_cursor_next_eq(&cursor__), \
1671
                 true) \
1672
              : false); \
1673
            )
1674
#define OVSREC_DATAPATH_FOR_EACH_BYINDEX(ROW, INDEX) \
1675
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_datapath_cursor_first(INDEX); \
1676
             (cursor__.position \
1677
              ? ((ROW) = ovsrec_datapath_cursor_data(&cursor__), \
1678
                 ovsdb_idl_cursor_next(&cursor__), \
1679
                 true) \
1680
              : false); \
1681
            )
1682
1683
void ovsrec_datapath_init(struct ovsrec_datapath *);
1684
void ovsrec_datapath_delete(const struct ovsrec_datapath *);
1685
struct ovsrec_datapath *ovsrec_datapath_insert(struct ovsdb_idl_txn *);
1686
struct ovsrec_datapath *ovsrec_datapath_insert_persist_uuid(
1687
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
1688
1689
/* Returns true if the tracked column referenced by 'enum ovsrec_datapath_column_id' of
1690
 * the row referenced by 'struct ovsrec_datapath *' was updated since the last change
1691
 * tracking reset.
1692
 *
1693
 * Note: This can only be used to test rows of tracked changes. This cannot be
1694
 * used to test if an uncommitted row that has been added locally has been
1695
 * updated or it may given unexpected results. */
1696
bool ovsrec_datapath_is_updated(const struct ovsrec_datapath *, enum ovsrec_datapath_column_id);
1697
1698
void ovsrec_datapath_verify_capabilities(const struct ovsrec_datapath *);
1699
void ovsrec_datapath_verify_ct_zone_default_limit(const struct ovsrec_datapath *);
1700
void ovsrec_datapath_verify_ct_zones(const struct ovsrec_datapath *);
1701
void ovsrec_datapath_verify_datapath_version(const struct ovsrec_datapath *);
1702
void ovsrec_datapath_verify_external_ids(const struct ovsrec_datapath *);
1703
1704
const struct ovsdb_datum *ovsrec_datapath_get_capabilities(const struct ovsrec_datapath *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
1705
const struct ovsdb_datum *ovsrec_datapath_get_ct_zone_default_limit(const struct ovsrec_datapath *, enum ovsdb_atomic_type key_type);
1706
const struct ovsdb_datum *ovsrec_datapath_get_ct_zones(const struct ovsrec_datapath *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
1707
const struct ovsdb_datum *ovsrec_datapath_get_datapath_version(const struct ovsrec_datapath *, enum ovsdb_atomic_type key_type);
1708
const struct ovsdb_datum *ovsrec_datapath_get_external_ids(const struct ovsrec_datapath *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
1709
1710
void ovsrec_datapath_set_capabilities(const struct ovsrec_datapath *, const struct smap *);
1711
void ovsrec_datapath_set_ct_zone_default_limit(const struct ovsrec_datapath *, const int64_t *ct_zone_default_limit, size_t n_ct_zone_default_limit);
1712
void ovsrec_datapath_set_ct_zones(const struct ovsrec_datapath *, const int64_t *key_ct_zones, struct ovsrec_ct_zone **value_ct_zones, size_t n_ct_zones);
1713
void ovsrec_datapath_set_datapath_version(const struct ovsrec_datapath *, const char *datapath_version);
1714
void ovsrec_datapath_set_external_ids(const struct ovsrec_datapath *, const struct smap *);
1715
1716
void ovsrec_datapath_update_capabilities_setkey(const struct ovsrec_datapath *,  const char *, const char *);
1717
void ovsrec_datapath_update_capabilities_delkey(const struct ovsrec_datapath *,  const char *);
1718
void ovsrec_datapath_add_clause_capabilities(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
1719
unsigned int ovsrec_datapath_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1720
void ovsrec_datapath_update_ct_zone_default_limit_addvalue(const struct ovsrec_datapath *,  int64_t );
1721
void ovsrec_datapath_update_ct_zone_default_limit_delvalue(const struct ovsrec_datapath *,  int64_t );
1722
void ovsrec_datapath_add_clause_ct_zone_default_limit(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *ct_zone_default_limit, size_t n_ct_zone_default_limit);
1723
unsigned int ovsrec_datapath_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1724
void ovsrec_datapath_update_ct_zones_setkey(const struct ovsrec_datapath *,  int64_t , const struct ovsrec_ct_zone *);
1725
void ovsrec_datapath_update_ct_zones_delkey(const struct ovsrec_datapath *,  int64_t );
1726
void ovsrec_datapath_add_clause_ct_zones(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *key_ct_zones, struct uuid **value_ct_zones, size_t n_ct_zones);
1727
unsigned int ovsrec_datapath_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1728
void ovsrec_datapath_add_clause_datapath_version(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *datapath_version);
1729
unsigned int ovsrec_datapath_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1730
void ovsrec_datapath_update_external_ids_setkey(const struct ovsrec_datapath *,  const char *, const char *);
1731
void ovsrec_datapath_update_external_ids_delkey(const struct ovsrec_datapath *,  const char *);
1732
void ovsrec_datapath_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
1733
unsigned int ovsrec_datapath_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1734
1735
struct ovsrec_datapath *ovsrec_datapath_index_init_row(struct ovsdb_idl_index *);
1736
void ovsrec_datapath_index_set_capabilities(const struct ovsrec_datapath *,
1737
const struct smap *);
1738
void ovsrec_datapath_index_set_ct_zone_default_limit(const struct ovsrec_datapath *,
1739
const int64_t *ct_zone_default_limit, size_t n_ct_zone_default_limit);
1740
void ovsrec_datapath_index_set_ct_zones(const struct ovsrec_datapath *,
1741
const int64_t *key_ct_zones, struct ovsrec_ct_zone **value_ct_zones, size_t n_ct_zones);
1742
void ovsrec_datapath_index_set_datapath_version(const struct ovsrec_datapath *,
1743
const char *datapath_version);
1744
void ovsrec_datapath_index_set_external_ids(const struct ovsrec_datapath *,
1745
const struct smap *);
1746

1747
/* Flow_Sample_Collector_Set table. */
1748
struct ovsrec_flow_sample_collector_set {
1749
  struct ovsdb_idl_row header_;
1750
1751
  /* bridge column. */
1752
  struct ovsrec_bridge *bridge;
1753
1754
  /* external_ids column. */
1755
  struct smap external_ids;
1756
1757
  /* id column. */
1758
  int64_t id;
1759
1760
  /* ipfix column. */
1761
  struct ovsrec_ipfix *ipfix;
1762
1763
  /* local_group_id column. */
1764
  int64_t *local_group_id;
1765
  size_t n_local_group_id;
1766
};
1767
1768
enum ovsrec_flow_sample_collector_set_column_id {
1769
    OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_BRIDGE,
1770
    OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_EXTERNAL_IDS,
1771
    OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_ID,
1772
    OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_IPFIX,
1773
    OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_LOCAL_GROUP_ID,
1774
    OVSREC_FLOW_SAMPLE_COLLECTOR_SET_N_COLUMNS
1775
};
1776
1777
0
#define ovsrec_flow_sample_collector_set_col_bridge (ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_BRIDGE])
1778
0
#define ovsrec_flow_sample_collector_set_col_external_ids (ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_EXTERNAL_IDS])
1779
0
#define ovsrec_flow_sample_collector_set_col_id (ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_ID])
1780
0
#define ovsrec_flow_sample_collector_set_col_ipfix (ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_IPFIX])
1781
0
#define ovsrec_flow_sample_collector_set_col_local_group_id (ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_LOCAL_GROUP_ID])
1782
1783
extern struct ovsdb_idl_column ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_N_COLUMNS];
1784
bool ovsrec_server_has_flow_sample_collector_set_table_col_bridge(const struct ovsdb_idl *); 
1785
const struct ovsdb_type *ovsrec_flow_sample_collector_set_bridge_server_type(const struct ovsdb_idl *); 
1786
bool ovsrec_server_has_flow_sample_collector_set_table_col_external_ids(const struct ovsdb_idl *); 
1787
const struct ovsdb_type *ovsrec_flow_sample_collector_set_external_ids_server_type(const struct ovsdb_idl *); 
1788
bool ovsrec_server_has_flow_sample_collector_set_table_col_id(const struct ovsdb_idl *); 
1789
const struct ovsdb_type *ovsrec_flow_sample_collector_set_id_server_type(const struct ovsdb_idl *); 
1790
bool ovsrec_server_has_flow_sample_collector_set_table_col_ipfix(const struct ovsdb_idl *); 
1791
const struct ovsdb_type *ovsrec_flow_sample_collector_set_ipfix_server_type(const struct ovsdb_idl *); 
1792
bool ovsrec_server_has_flow_sample_collector_set_table_col_local_group_id(const struct ovsdb_idl *); 
1793
const struct ovsdb_type *ovsrec_flow_sample_collector_set_local_group_id_server_type(const struct ovsdb_idl *); 
1794
1795
bool ovsrec_server_has_flow_sample_collector_set_table(const struct ovsdb_idl *);
1796
const struct ovsrec_flow_sample_collector_set_table *ovsrec_flow_sample_collector_set_table_get(const struct ovsdb_idl *);
1797
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_table_first(const struct ovsrec_flow_sample_collector_set_table *);
1798
1799
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_TABLE_FOR_EACH(ROW, TABLE) \
1800
        for ((ROW) = ovsrec_flow_sample_collector_set_table_first(TABLE); \
1801
             (ROW); \
1802
             (ROW) = ovsrec_flow_sample_collector_set_next(ROW))
1803
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
1804
        for ((ROW) = ovsrec_flow_sample_collector_set_table_first(TABLE); \
1805
             (ROW) ? ((NEXT) = ovsrec_flow_sample_collector_set_next(ROW), 1) : 0; \
1806
             (ROW) = (NEXT))
1807
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
1808
        for (const struct ovsrec_flow_sample_collector_set * ROW__next = ((ROW) = ovsrec_flow_sample_collector_set_table_first(TABLE), NULL); \
1809
             (ROW) ? (ROW__next = ovsrec_flow_sample_collector_set_next(ROW), 1) : (ROW__next = NULL, 0); \
1810
             (ROW) = ROW__next)
1811
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_TABLE_FOR_EACH_SAFE(...)                                        \
1812
        OVERLOAD_SAFE_MACRO(OVSREC_FLOW_SAMPLE_COLLECTOR_SET_TABLE_FOR_EACH_SAFE_LONG,                   \
1813
                            OVSREC_FLOW_SAMPLE_COLLECTOR_SET_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
1814
1815
1816
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
1817
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_table_get_for_uuid(const struct ovsrec_flow_sample_collector_set_table *, const struct uuid *);
1818
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_first(const struct ovsdb_idl *);
1819
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_next(const struct ovsrec_flow_sample_collector_set *);
1820
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH(ROW, IDL) \
1821
        for ((ROW) = ovsrec_flow_sample_collector_set_first(IDL); \
1822
             (ROW); \
1823
             (ROW) = ovsrec_flow_sample_collector_set_next(ROW))
1824
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
1825
        for ((ROW) = ovsrec_flow_sample_collector_set_first(IDL); \
1826
             (ROW) ? ((NEXT) = ovsrec_flow_sample_collector_set_next(ROW), 1) : 0; \
1827
             (ROW) = (NEXT))
1828
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_SAFE_SHORT(ROW, IDL) \
1829
        for (const struct ovsrec_flow_sample_collector_set * ROW__next = ((ROW) = ovsrec_flow_sample_collector_set_first(IDL), NULL); \
1830
             (ROW) ? (ROW__next = ovsrec_flow_sample_collector_set_next(ROW), 1) : (ROW__next = NULL, 0); \
1831
             (ROW) = ROW__next)
1832
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_SAFE(...)                                         \
1833
        OVERLOAD_SAFE_MACRO(OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_SAFE_LONG,                    \
1834
                            OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
1835
1836
unsigned int ovsrec_flow_sample_collector_set_get_seqno(const struct ovsdb_idl *);
1837
unsigned int ovsrec_flow_sample_collector_set_row_get_seqno(const struct ovsrec_flow_sample_collector_set *row, enum ovsdb_idl_change change);
1838
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_track_get_first(const struct ovsdb_idl *);
1839
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_track_get_next(const struct ovsrec_flow_sample_collector_set *);
1840
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_TRACKED(ROW, IDL) \
1841
        for ((ROW) = ovsrec_flow_sample_collector_set_track_get_first(IDL); \
1842
             (ROW); \
1843
             (ROW) = ovsrec_flow_sample_collector_set_track_get_next(ROW))
1844
1845
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_table_track_get_first(const struct ovsrec_flow_sample_collector_set_table *);
1846
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
1847
        for ((ROW) = ovsrec_flow_sample_collector_set_table_track_get_first(TABLE); \
1848
             (ROW); \
1849
             (ROW) = ovsrec_flow_sample_collector_set_track_get_next(ROW))
1850
1851
1852
/* Returns true if 'row' was inserted since the last change tracking reset.
1853
 *
1854
 * Note: This can only be used to test rows of tracked changes. This cannot be
1855
 * used to test if an uncommitted row that has been added locally is new or it
1856
 * may given unexpected results. */
1857
static inline bool ovsrec_flow_sample_collector_set_is_new(const struct ovsrec_flow_sample_collector_set *row)
1858
0
{
1859
0
    return ovsrec_flow_sample_collector_set_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
1860
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_flow_sample_collector_set_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_flow_sample_collector_set_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_flow_sample_collector_set_is_new
1861
1862
/* Returns true if 'row' was deleted since the last change tracking reset.
1863
 *
1864
 * Note: This can only be used to test rows of tracked changes. This cannot be
1865
 * used to test if an uncommitted row that has been added locally has been
1866
 * deleted or it may given unexpected results. */
1867
static inline bool ovsrec_flow_sample_collector_set_is_deleted(const struct ovsrec_flow_sample_collector_set *row)
1868
0
{
1869
0
    return ovsrec_flow_sample_collector_set_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
1870
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_flow_sample_collector_set_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_flow_sample_collector_set_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_flow_sample_collector_set_is_deleted
1871
1872
void ovsrec_flow_sample_collector_set_index_destroy_row(const struct ovsrec_flow_sample_collector_set *);
1873
1874
struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_index_find(struct ovsdb_idl_index *, const struct ovsrec_flow_sample_collector_set *);
1875
1876
int ovsrec_flow_sample_collector_set_index_compare(
1877
    struct ovsdb_idl_index *, 
1878
    const struct ovsrec_flow_sample_collector_set *, 
1879
    const struct ovsrec_flow_sample_collector_set *);
1880
struct ovsdb_idl_cursor ovsrec_flow_sample_collector_set_cursor_first(struct ovsdb_idl_index *);
1881
struct ovsdb_idl_cursor ovsrec_flow_sample_collector_set_cursor_first_eq(
1882
    struct ovsdb_idl_index *, const struct ovsrec_flow_sample_collector_set *);
1883
struct ovsdb_idl_cursor ovsrec_flow_sample_collector_set_cursor_first_ge(
1884
    struct ovsdb_idl_index *, const struct ovsrec_flow_sample_collector_set *);
1885
1886
struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_cursor_data(struct ovsdb_idl_cursor *);
1887
1888
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
1889
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_flow_sample_collector_set_cursor_first_ge(INDEX, FROM); \
1890
             (cursor__.position \
1891
              && ((ROW) = ovsrec_flow_sample_collector_set_cursor_data(&cursor__), \
1892
                  !(TO) || ovsrec_flow_sample_collector_set_index_compare(INDEX, ROW, TO) <= 0)); \
1893
             ovsdb_idl_cursor_next(&cursor__))
1894
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
1895
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_flow_sample_collector_set_cursor_first_eq(INDEX, KEY); \
1896
             (cursor__.position \
1897
              ? ((ROW) = ovsrec_flow_sample_collector_set_cursor_data(&cursor__), \
1898
                 ovsdb_idl_cursor_next_eq(&cursor__), \
1899
                 true) \
1900
              : false); \
1901
            )
1902
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_BYINDEX(ROW, INDEX) \
1903
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_flow_sample_collector_set_cursor_first(INDEX); \
1904
             (cursor__.position \
1905
              ? ((ROW) = ovsrec_flow_sample_collector_set_cursor_data(&cursor__), \
1906
                 ovsdb_idl_cursor_next(&cursor__), \
1907
                 true) \
1908
              : false); \
1909
            )
1910
1911
void ovsrec_flow_sample_collector_set_init(struct ovsrec_flow_sample_collector_set *);
1912
void ovsrec_flow_sample_collector_set_delete(const struct ovsrec_flow_sample_collector_set *);
1913
struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_insert(struct ovsdb_idl_txn *);
1914
struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_insert_persist_uuid(
1915
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
1916
1917
/* Returns true if the tracked column referenced by 'enum ovsrec_flow_sample_collector_set_column_id' of
1918
 * the row referenced by 'struct ovsrec_flow_sample_collector_set *' was updated since the last change
1919
 * tracking reset.
1920
 *
1921
 * Note: This can only be used to test rows of tracked changes. This cannot be
1922
 * used to test if an uncommitted row that has been added locally has been
1923
 * updated or it may given unexpected results. */
1924
bool ovsrec_flow_sample_collector_set_is_updated(const struct ovsrec_flow_sample_collector_set *, enum ovsrec_flow_sample_collector_set_column_id);
1925
1926
void ovsrec_flow_sample_collector_set_verify_bridge(const struct ovsrec_flow_sample_collector_set *);
1927
void ovsrec_flow_sample_collector_set_verify_external_ids(const struct ovsrec_flow_sample_collector_set *);
1928
void ovsrec_flow_sample_collector_set_verify_id(const struct ovsrec_flow_sample_collector_set *);
1929
void ovsrec_flow_sample_collector_set_verify_ipfix(const struct ovsrec_flow_sample_collector_set *);
1930
void ovsrec_flow_sample_collector_set_verify_local_group_id(const struct ovsrec_flow_sample_collector_set *);
1931
1932
const struct ovsdb_datum *ovsrec_flow_sample_collector_set_get_bridge(const struct ovsrec_flow_sample_collector_set *, enum ovsdb_atomic_type key_type);
1933
const struct ovsdb_datum *ovsrec_flow_sample_collector_set_get_external_ids(const struct ovsrec_flow_sample_collector_set *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
1934
const struct ovsdb_datum *ovsrec_flow_sample_collector_set_get_id(const struct ovsrec_flow_sample_collector_set *, enum ovsdb_atomic_type key_type);
1935
const struct ovsdb_datum *ovsrec_flow_sample_collector_set_get_ipfix(const struct ovsrec_flow_sample_collector_set *, enum ovsdb_atomic_type key_type);
1936
const struct ovsdb_datum *ovsrec_flow_sample_collector_set_get_local_group_id(const struct ovsrec_flow_sample_collector_set *, enum ovsdb_atomic_type key_type);
1937
1938
void ovsrec_flow_sample_collector_set_set_bridge(const struct ovsrec_flow_sample_collector_set *, const struct ovsrec_bridge *bridge);
1939
void ovsrec_flow_sample_collector_set_set_external_ids(const struct ovsrec_flow_sample_collector_set *, const struct smap *);
1940
void ovsrec_flow_sample_collector_set_set_id(const struct ovsrec_flow_sample_collector_set *, int64_t id);
1941
void ovsrec_flow_sample_collector_set_set_ipfix(const struct ovsrec_flow_sample_collector_set *, const struct ovsrec_ipfix *ipfix);
1942
void ovsrec_flow_sample_collector_set_set_local_group_id(const struct ovsrec_flow_sample_collector_set *, const int64_t *local_group_id, size_t n_local_group_id);
1943
1944
void ovsrec_flow_sample_collector_set_add_clause_bridge(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *bridge);
1945
unsigned int ovsrec_flow_sample_collector_set_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1946
void ovsrec_flow_sample_collector_set_update_external_ids_setkey(const struct ovsrec_flow_sample_collector_set *,  const char *, const char *);
1947
void ovsrec_flow_sample_collector_set_update_external_ids_delkey(const struct ovsrec_flow_sample_collector_set *,  const char *);
1948
void ovsrec_flow_sample_collector_set_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
1949
unsigned int ovsrec_flow_sample_collector_set_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1950
void ovsrec_flow_sample_collector_set_add_clause_id(struct ovsdb_idl_condition *, enum ovsdb_function function, int64_t id);
1951
unsigned int ovsrec_flow_sample_collector_set_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1952
void ovsrec_flow_sample_collector_set_update_ipfix_addvalue(const struct ovsrec_flow_sample_collector_set *,  const struct ovsrec_ipfix *);
1953
void ovsrec_flow_sample_collector_set_update_ipfix_delvalue(const struct ovsrec_flow_sample_collector_set *,  const struct ovsrec_ipfix *);
1954
void ovsrec_flow_sample_collector_set_add_clause_ipfix(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *ipfix);
1955
unsigned int ovsrec_flow_sample_collector_set_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1956
void ovsrec_flow_sample_collector_set_update_local_group_id_addvalue(const struct ovsrec_flow_sample_collector_set *,  int64_t );
1957
void ovsrec_flow_sample_collector_set_update_local_group_id_delvalue(const struct ovsrec_flow_sample_collector_set *,  int64_t );
1958
void ovsrec_flow_sample_collector_set_add_clause_local_group_id(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *local_group_id, size_t n_local_group_id);
1959
unsigned int ovsrec_flow_sample_collector_set_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
1960
1961
struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_index_init_row(struct ovsdb_idl_index *);
1962
void ovsrec_flow_sample_collector_set_index_set_bridge(const struct ovsrec_flow_sample_collector_set *,
1963
const struct ovsrec_bridge *bridge);
1964
void ovsrec_flow_sample_collector_set_index_set_external_ids(const struct ovsrec_flow_sample_collector_set *,
1965
const struct smap *);
1966
void ovsrec_flow_sample_collector_set_index_set_id(const struct ovsrec_flow_sample_collector_set *,
1967
int64_t id);
1968
void ovsrec_flow_sample_collector_set_index_set_ipfix(const struct ovsrec_flow_sample_collector_set *,
1969
const struct ovsrec_ipfix *ipfix);
1970
void ovsrec_flow_sample_collector_set_index_set_local_group_id(const struct ovsrec_flow_sample_collector_set *,
1971
const int64_t *local_group_id, size_t n_local_group_id);
1972

1973
/* Flow_Table table. */
1974
struct ovsrec_flow_table {
1975
  struct ovsdb_idl_row header_;
1976
1977
  /* external_ids column. */
1978
  struct smap external_ids;
1979
1980
  /* flow_limit column. */
1981
  int64_t *flow_limit;
1982
  size_t n_flow_limit;
1983
1984
  /* groups column. */
1985
  char **groups;
1986
  size_t n_groups;
1987
1988
  /* name column. */
1989
  char *name;
1990
1991
  /* overflow_policy column. */
1992
  char *overflow_policy;
1993
1994
  /* prefixes column. */
1995
  char **prefixes;
1996
  size_t n_prefixes;
1997
};
1998
1999
enum ovsrec_flow_table_column_id {
2000
    OVSREC_FLOW_TABLE_COL_EXTERNAL_IDS,
2001
    OVSREC_FLOW_TABLE_COL_FLOW_LIMIT,
2002
    OVSREC_FLOW_TABLE_COL_GROUPS,
2003
    OVSREC_FLOW_TABLE_COL_NAME,
2004
    OVSREC_FLOW_TABLE_COL_OVERFLOW_POLICY,
2005
    OVSREC_FLOW_TABLE_COL_PREFIXES,
2006
    OVSREC_FLOW_TABLE_N_COLUMNS
2007
};
2008
2009
0
#define ovsrec_flow_table_col_external_ids (ovsrec_flow_table_columns[OVSREC_FLOW_TABLE_COL_EXTERNAL_IDS])
2010
0
#define ovsrec_flow_table_col_flow_limit (ovsrec_flow_table_columns[OVSREC_FLOW_TABLE_COL_FLOW_LIMIT])
2011
0
#define ovsrec_flow_table_col_groups (ovsrec_flow_table_columns[OVSREC_FLOW_TABLE_COL_GROUPS])
2012
0
#define ovsrec_flow_table_col_name (ovsrec_flow_table_columns[OVSREC_FLOW_TABLE_COL_NAME])
2013
0
#define ovsrec_flow_table_col_overflow_policy (ovsrec_flow_table_columns[OVSREC_FLOW_TABLE_COL_OVERFLOW_POLICY])
2014
0
#define ovsrec_flow_table_col_prefixes (ovsrec_flow_table_columns[OVSREC_FLOW_TABLE_COL_PREFIXES])
2015
2016
extern struct ovsdb_idl_column ovsrec_flow_table_columns[OVSREC_FLOW_TABLE_N_COLUMNS];
2017
bool ovsrec_server_has_flow_table_table_col_external_ids(const struct ovsdb_idl *); 
2018
const struct ovsdb_type *ovsrec_flow_table_external_ids_server_type(const struct ovsdb_idl *); 
2019
bool ovsrec_server_has_flow_table_table_col_flow_limit(const struct ovsdb_idl *); 
2020
const struct ovsdb_type *ovsrec_flow_table_flow_limit_server_type(const struct ovsdb_idl *); 
2021
bool ovsrec_server_has_flow_table_table_col_groups(const struct ovsdb_idl *); 
2022
const struct ovsdb_type *ovsrec_flow_table_groups_server_type(const struct ovsdb_idl *); 
2023
bool ovsrec_server_has_flow_table_table_col_name(const struct ovsdb_idl *); 
2024
const struct ovsdb_type *ovsrec_flow_table_name_server_type(const struct ovsdb_idl *); 
2025
bool ovsrec_server_has_flow_table_table_col_overflow_policy(const struct ovsdb_idl *); 
2026
const struct ovsdb_type *ovsrec_flow_table_overflow_policy_server_type(const struct ovsdb_idl *); 
2027
bool ovsrec_server_has_flow_table_table_col_prefixes(const struct ovsdb_idl *); 
2028
const struct ovsdb_type *ovsrec_flow_table_prefixes_server_type(const struct ovsdb_idl *); 
2029
2030
bool ovsrec_server_has_flow_table_table(const struct ovsdb_idl *);
2031
const struct ovsrec_flow_table_table *ovsrec_flow_table_table_get(const struct ovsdb_idl *);
2032
const struct ovsrec_flow_table *ovsrec_flow_table_table_first(const struct ovsrec_flow_table_table *);
2033
2034
#define OVSREC_FLOW_TABLE_TABLE_FOR_EACH(ROW, TABLE) \
2035
        for ((ROW) = ovsrec_flow_table_table_first(TABLE); \
2036
             (ROW); \
2037
             (ROW) = ovsrec_flow_table_next(ROW))
2038
#define OVSREC_FLOW_TABLE_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
2039
        for ((ROW) = ovsrec_flow_table_table_first(TABLE); \
2040
             (ROW) ? ((NEXT) = ovsrec_flow_table_next(ROW), 1) : 0; \
2041
             (ROW) = (NEXT))
2042
#define OVSREC_FLOW_TABLE_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
2043
        for (const struct ovsrec_flow_table * ROW__next = ((ROW) = ovsrec_flow_table_table_first(TABLE), NULL); \
2044
             (ROW) ? (ROW__next = ovsrec_flow_table_next(ROW), 1) : (ROW__next = NULL, 0); \
2045
             (ROW) = ROW__next)
2046
#define OVSREC_FLOW_TABLE_TABLE_FOR_EACH_SAFE(...)                                        \
2047
        OVERLOAD_SAFE_MACRO(OVSREC_FLOW_TABLE_TABLE_FOR_EACH_SAFE_LONG,                   \
2048
                            OVSREC_FLOW_TABLE_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
2049
2050
2051
const struct ovsrec_flow_table *ovsrec_flow_table_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
2052
const struct ovsrec_flow_table *ovsrec_flow_table_table_get_for_uuid(const struct ovsrec_flow_table_table *, const struct uuid *);
2053
const struct ovsrec_flow_table *ovsrec_flow_table_first(const struct ovsdb_idl *);
2054
const struct ovsrec_flow_table *ovsrec_flow_table_next(const struct ovsrec_flow_table *);
2055
#define OVSREC_FLOW_TABLE_FOR_EACH(ROW, IDL) \
2056
        for ((ROW) = ovsrec_flow_table_first(IDL); \
2057
             (ROW); \
2058
             (ROW) = ovsrec_flow_table_next(ROW))
2059
#define OVSREC_FLOW_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
2060
        for ((ROW) = ovsrec_flow_table_first(IDL); \
2061
             (ROW) ? ((NEXT) = ovsrec_flow_table_next(ROW), 1) : 0; \
2062
             (ROW) = (NEXT))
2063
#define OVSREC_FLOW_TABLE_FOR_EACH_SAFE_SHORT(ROW, IDL) \
2064
        for (const struct ovsrec_flow_table * ROW__next = ((ROW) = ovsrec_flow_table_first(IDL), NULL); \
2065
             (ROW) ? (ROW__next = ovsrec_flow_table_next(ROW), 1) : (ROW__next = NULL, 0); \
2066
             (ROW) = ROW__next)
2067
#define OVSREC_FLOW_TABLE_FOR_EACH_SAFE(...)                                         \
2068
        OVERLOAD_SAFE_MACRO(OVSREC_FLOW_TABLE_FOR_EACH_SAFE_LONG,                    \
2069
                            OVSREC_FLOW_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
2070
2071
unsigned int ovsrec_flow_table_get_seqno(const struct ovsdb_idl *);
2072
unsigned int ovsrec_flow_table_row_get_seqno(const struct ovsrec_flow_table *row, enum ovsdb_idl_change change);
2073
const struct ovsrec_flow_table *ovsrec_flow_table_track_get_first(const struct ovsdb_idl *);
2074
const struct ovsrec_flow_table *ovsrec_flow_table_track_get_next(const struct ovsrec_flow_table *);
2075
#define OVSREC_FLOW_TABLE_FOR_EACH_TRACKED(ROW, IDL) \
2076
        for ((ROW) = ovsrec_flow_table_track_get_first(IDL); \
2077
             (ROW); \
2078
             (ROW) = ovsrec_flow_table_track_get_next(ROW))
2079
2080
const struct ovsrec_flow_table *ovsrec_flow_table_table_track_get_first(const struct ovsrec_flow_table_table *);
2081
#define OVSREC_FLOW_TABLE_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
2082
        for ((ROW) = ovsrec_flow_table_table_track_get_first(TABLE); \
2083
             (ROW); \
2084
             (ROW) = ovsrec_flow_table_track_get_next(ROW))
2085
2086
2087
/* Returns true if 'row' was inserted since the last change tracking reset.
2088
 *
2089
 * Note: This can only be used to test rows of tracked changes. This cannot be
2090
 * used to test if an uncommitted row that has been added locally is new or it
2091
 * may given unexpected results. */
2092
static inline bool ovsrec_flow_table_is_new(const struct ovsrec_flow_table *row)
2093
0
{
2094
0
    return ovsrec_flow_table_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
2095
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_flow_table_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_flow_table_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_flow_table_is_new
2096
2097
/* Returns true if 'row' was deleted since the last change tracking reset.
2098
 *
2099
 * Note: This can only be used to test rows of tracked changes. This cannot be
2100
 * used to test if an uncommitted row that has been added locally has been
2101
 * deleted or it may given unexpected results. */
2102
static inline bool ovsrec_flow_table_is_deleted(const struct ovsrec_flow_table *row)
2103
0
{
2104
0
    return ovsrec_flow_table_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
2105
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_flow_table_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_flow_table_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_flow_table_is_deleted
2106
2107
void ovsrec_flow_table_index_destroy_row(const struct ovsrec_flow_table *);
2108
2109
struct ovsrec_flow_table *ovsrec_flow_table_index_find(struct ovsdb_idl_index *, const struct ovsrec_flow_table *);
2110
2111
int ovsrec_flow_table_index_compare(
2112
    struct ovsdb_idl_index *, 
2113
    const struct ovsrec_flow_table *, 
2114
    const struct ovsrec_flow_table *);
2115
struct ovsdb_idl_cursor ovsrec_flow_table_cursor_first(struct ovsdb_idl_index *);
2116
struct ovsdb_idl_cursor ovsrec_flow_table_cursor_first_eq(
2117
    struct ovsdb_idl_index *, const struct ovsrec_flow_table *);
2118
struct ovsdb_idl_cursor ovsrec_flow_table_cursor_first_ge(
2119
    struct ovsdb_idl_index *, const struct ovsrec_flow_table *);
2120
2121
struct ovsrec_flow_table *ovsrec_flow_table_cursor_data(struct ovsdb_idl_cursor *);
2122
2123
#define OVSREC_FLOW_TABLE_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
2124
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_flow_table_cursor_first_ge(INDEX, FROM); \
2125
             (cursor__.position \
2126
              && ((ROW) = ovsrec_flow_table_cursor_data(&cursor__), \
2127
                  !(TO) || ovsrec_flow_table_index_compare(INDEX, ROW, TO) <= 0)); \
2128
             ovsdb_idl_cursor_next(&cursor__))
2129
#define OVSREC_FLOW_TABLE_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
2130
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_flow_table_cursor_first_eq(INDEX, KEY); \
2131
             (cursor__.position \
2132
              ? ((ROW) = ovsrec_flow_table_cursor_data(&cursor__), \
2133
                 ovsdb_idl_cursor_next_eq(&cursor__), \
2134
                 true) \
2135
              : false); \
2136
            )
2137
#define OVSREC_FLOW_TABLE_FOR_EACH_BYINDEX(ROW, INDEX) \
2138
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_flow_table_cursor_first(INDEX); \
2139
             (cursor__.position \
2140
              ? ((ROW) = ovsrec_flow_table_cursor_data(&cursor__), \
2141
                 ovsdb_idl_cursor_next(&cursor__), \
2142
                 true) \
2143
              : false); \
2144
            )
2145
2146
void ovsrec_flow_table_init(struct ovsrec_flow_table *);
2147
void ovsrec_flow_table_delete(const struct ovsrec_flow_table *);
2148
struct ovsrec_flow_table *ovsrec_flow_table_insert(struct ovsdb_idl_txn *);
2149
struct ovsrec_flow_table *ovsrec_flow_table_insert_persist_uuid(
2150
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
2151
2152
/* Returns true if the tracked column referenced by 'enum ovsrec_flow_table_column_id' of
2153
 * the row referenced by 'struct ovsrec_flow_table *' was updated since the last change
2154
 * tracking reset.
2155
 *
2156
 * Note: This can only be used to test rows of tracked changes. This cannot be
2157
 * used to test if an uncommitted row that has been added locally has been
2158
 * updated or it may given unexpected results. */
2159
bool ovsrec_flow_table_is_updated(const struct ovsrec_flow_table *, enum ovsrec_flow_table_column_id);
2160
2161
void ovsrec_flow_table_verify_external_ids(const struct ovsrec_flow_table *);
2162
void ovsrec_flow_table_verify_flow_limit(const struct ovsrec_flow_table *);
2163
void ovsrec_flow_table_verify_groups(const struct ovsrec_flow_table *);
2164
void ovsrec_flow_table_verify_name(const struct ovsrec_flow_table *);
2165
void ovsrec_flow_table_verify_overflow_policy(const struct ovsrec_flow_table *);
2166
void ovsrec_flow_table_verify_prefixes(const struct ovsrec_flow_table *);
2167
2168
const struct ovsdb_datum *ovsrec_flow_table_get_external_ids(const struct ovsrec_flow_table *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
2169
const struct ovsdb_datum *ovsrec_flow_table_get_flow_limit(const struct ovsrec_flow_table *, enum ovsdb_atomic_type key_type);
2170
const struct ovsdb_datum *ovsrec_flow_table_get_groups(const struct ovsrec_flow_table *, enum ovsdb_atomic_type key_type);
2171
const struct ovsdb_datum *ovsrec_flow_table_get_name(const struct ovsrec_flow_table *, enum ovsdb_atomic_type key_type);
2172
const struct ovsdb_datum *ovsrec_flow_table_get_overflow_policy(const struct ovsrec_flow_table *, enum ovsdb_atomic_type key_type);
2173
const struct ovsdb_datum *ovsrec_flow_table_get_prefixes(const struct ovsrec_flow_table *, enum ovsdb_atomic_type key_type);
2174
2175
void ovsrec_flow_table_set_external_ids(const struct ovsrec_flow_table *, const struct smap *);
2176
void ovsrec_flow_table_set_flow_limit(const struct ovsrec_flow_table *, const int64_t *flow_limit, size_t n_flow_limit);
2177
void ovsrec_flow_table_set_groups(const struct ovsrec_flow_table *, const char **groups, size_t n_groups);
2178
void ovsrec_flow_table_set_name(const struct ovsrec_flow_table *, const char *name);
2179
void ovsrec_flow_table_set_overflow_policy(const struct ovsrec_flow_table *, const char *overflow_policy);
2180
void ovsrec_flow_table_set_prefixes(const struct ovsrec_flow_table *, const char **prefixes, size_t n_prefixes);
2181
2182
void ovsrec_flow_table_update_external_ids_setkey(const struct ovsrec_flow_table *,  const char *, const char *);
2183
void ovsrec_flow_table_update_external_ids_delkey(const struct ovsrec_flow_table *,  const char *);
2184
void ovsrec_flow_table_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
2185
unsigned int ovsrec_flow_table_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2186
void ovsrec_flow_table_update_flow_limit_addvalue(const struct ovsrec_flow_table *,  int64_t );
2187
void ovsrec_flow_table_update_flow_limit_delvalue(const struct ovsrec_flow_table *,  int64_t );
2188
void ovsrec_flow_table_add_clause_flow_limit(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *flow_limit, size_t n_flow_limit);
2189
unsigned int ovsrec_flow_table_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2190
void ovsrec_flow_table_update_groups_addvalue(const struct ovsrec_flow_table *,  const char *);
2191
void ovsrec_flow_table_update_groups_delvalue(const struct ovsrec_flow_table *,  const char *);
2192
void ovsrec_flow_table_add_clause_groups(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **groups, size_t n_groups);
2193
unsigned int ovsrec_flow_table_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2194
void ovsrec_flow_table_update_name_addvalue(const struct ovsrec_flow_table *,  const char *);
2195
void ovsrec_flow_table_update_name_delvalue(const struct ovsrec_flow_table *,  const char *);
2196
void ovsrec_flow_table_add_clause_name(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *name);
2197
unsigned int ovsrec_flow_table_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2198
void ovsrec_flow_table_update_overflow_policy_addvalue(const struct ovsrec_flow_table *,  const char *);
2199
void ovsrec_flow_table_update_overflow_policy_delvalue(const struct ovsrec_flow_table *,  const char *);
2200
void ovsrec_flow_table_add_clause_overflow_policy(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *overflow_policy);
2201
unsigned int ovsrec_flow_table_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2202
void ovsrec_flow_table_update_prefixes_addvalue(const struct ovsrec_flow_table *,  const char *);
2203
void ovsrec_flow_table_update_prefixes_delvalue(const struct ovsrec_flow_table *,  const char *);
2204
void ovsrec_flow_table_add_clause_prefixes(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **prefixes, size_t n_prefixes);
2205
unsigned int ovsrec_flow_table_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2206
2207
struct ovsrec_flow_table *ovsrec_flow_table_index_init_row(struct ovsdb_idl_index *);
2208
void ovsrec_flow_table_index_set_external_ids(const struct ovsrec_flow_table *,
2209
const struct smap *);
2210
void ovsrec_flow_table_index_set_flow_limit(const struct ovsrec_flow_table *,
2211
const int64_t *flow_limit, size_t n_flow_limit);
2212
void ovsrec_flow_table_index_set_groups(const struct ovsrec_flow_table *,
2213
const char **groups, size_t n_groups);
2214
void ovsrec_flow_table_index_set_name(const struct ovsrec_flow_table *,
2215
const char *name);
2216
void ovsrec_flow_table_index_set_overflow_policy(const struct ovsrec_flow_table *,
2217
const char *overflow_policy);
2218
void ovsrec_flow_table_index_set_prefixes(const struct ovsrec_flow_table *,
2219
const char **prefixes, size_t n_prefixes);
2220

2221
/* IPFIX table. */
2222
struct ovsrec_ipfix {
2223
  struct ovsdb_idl_row header_;
2224
2225
  /* cache_active_timeout column. */
2226
  int64_t *cache_active_timeout;
2227
  size_t n_cache_active_timeout;
2228
2229
  /* cache_max_flows column. */
2230
  int64_t *cache_max_flows;
2231
  size_t n_cache_max_flows;
2232
2233
  /* external_ids column. */
2234
  struct smap external_ids;
2235
2236
  /* obs_domain_id column. */
2237
  int64_t *obs_domain_id;
2238
  size_t n_obs_domain_id;
2239
2240
  /* obs_point_id column. */
2241
  int64_t *obs_point_id;
2242
  size_t n_obs_point_id;
2243
2244
  /* other_config column. */
2245
  struct smap other_config;
2246
2247
  /* sampling column. */
2248
  int64_t *sampling;
2249
  size_t n_sampling;
2250
2251
  /* stats_interval column. */
2252
  int64_t *stats_interval;
2253
  size_t n_stats_interval;
2254
2255
  /* targets column. */
2256
  char **targets;
2257
  size_t n_targets;
2258
2259
  /* template_interval column. */
2260
  int64_t *template_interval;
2261
  size_t n_template_interval;
2262
};
2263
2264
enum ovsrec_ipfix_column_id {
2265
    OVSREC_IPFIX_COL_CACHE_ACTIVE_TIMEOUT,
2266
    OVSREC_IPFIX_COL_CACHE_MAX_FLOWS,
2267
    OVSREC_IPFIX_COL_EXTERNAL_IDS,
2268
    OVSREC_IPFIX_COL_OBS_DOMAIN_ID,
2269
    OVSREC_IPFIX_COL_OBS_POINT_ID,
2270
    OVSREC_IPFIX_COL_OTHER_CONFIG,
2271
    OVSREC_IPFIX_COL_SAMPLING,
2272
    OVSREC_IPFIX_COL_STATS_INTERVAL,
2273
    OVSREC_IPFIX_COL_TARGETS,
2274
    OVSREC_IPFIX_COL_TEMPLATE_INTERVAL,
2275
    OVSREC_IPFIX_N_COLUMNS
2276
};
2277
2278
0
#define ovsrec_ipfix_col_cache_active_timeout (ovsrec_ipfix_columns[OVSREC_IPFIX_COL_CACHE_ACTIVE_TIMEOUT])
2279
0
#define ovsrec_ipfix_col_cache_max_flows (ovsrec_ipfix_columns[OVSREC_IPFIX_COL_CACHE_MAX_FLOWS])
2280
0
#define ovsrec_ipfix_col_external_ids (ovsrec_ipfix_columns[OVSREC_IPFIX_COL_EXTERNAL_IDS])
2281
0
#define ovsrec_ipfix_col_obs_domain_id (ovsrec_ipfix_columns[OVSREC_IPFIX_COL_OBS_DOMAIN_ID])
2282
0
#define ovsrec_ipfix_col_obs_point_id (ovsrec_ipfix_columns[OVSREC_IPFIX_COL_OBS_POINT_ID])
2283
0
#define ovsrec_ipfix_col_other_config (ovsrec_ipfix_columns[OVSREC_IPFIX_COL_OTHER_CONFIG])
2284
0
#define ovsrec_ipfix_col_sampling (ovsrec_ipfix_columns[OVSREC_IPFIX_COL_SAMPLING])
2285
0
#define ovsrec_ipfix_col_stats_interval (ovsrec_ipfix_columns[OVSREC_IPFIX_COL_STATS_INTERVAL])
2286
0
#define ovsrec_ipfix_col_targets (ovsrec_ipfix_columns[OVSREC_IPFIX_COL_TARGETS])
2287
0
#define ovsrec_ipfix_col_template_interval (ovsrec_ipfix_columns[OVSREC_IPFIX_COL_TEMPLATE_INTERVAL])
2288
2289
extern struct ovsdb_idl_column ovsrec_ipfix_columns[OVSREC_IPFIX_N_COLUMNS];
2290
bool ovsrec_server_has_ipfix_table_col_cache_active_timeout(const struct ovsdb_idl *); 
2291
const struct ovsdb_type *ovsrec_ipfix_cache_active_timeout_server_type(const struct ovsdb_idl *); 
2292
bool ovsrec_server_has_ipfix_table_col_cache_max_flows(const struct ovsdb_idl *); 
2293
const struct ovsdb_type *ovsrec_ipfix_cache_max_flows_server_type(const struct ovsdb_idl *); 
2294
bool ovsrec_server_has_ipfix_table_col_external_ids(const struct ovsdb_idl *); 
2295
const struct ovsdb_type *ovsrec_ipfix_external_ids_server_type(const struct ovsdb_idl *); 
2296
bool ovsrec_server_has_ipfix_table_col_obs_domain_id(const struct ovsdb_idl *); 
2297
const struct ovsdb_type *ovsrec_ipfix_obs_domain_id_server_type(const struct ovsdb_idl *); 
2298
bool ovsrec_server_has_ipfix_table_col_obs_point_id(const struct ovsdb_idl *); 
2299
const struct ovsdb_type *ovsrec_ipfix_obs_point_id_server_type(const struct ovsdb_idl *); 
2300
bool ovsrec_server_has_ipfix_table_col_other_config(const struct ovsdb_idl *); 
2301
const struct ovsdb_type *ovsrec_ipfix_other_config_server_type(const struct ovsdb_idl *); 
2302
bool ovsrec_server_has_ipfix_table_col_sampling(const struct ovsdb_idl *); 
2303
const struct ovsdb_type *ovsrec_ipfix_sampling_server_type(const struct ovsdb_idl *); 
2304
bool ovsrec_server_has_ipfix_table_col_stats_interval(const struct ovsdb_idl *); 
2305
const struct ovsdb_type *ovsrec_ipfix_stats_interval_server_type(const struct ovsdb_idl *); 
2306
bool ovsrec_server_has_ipfix_table_col_targets(const struct ovsdb_idl *); 
2307
const struct ovsdb_type *ovsrec_ipfix_targets_server_type(const struct ovsdb_idl *); 
2308
bool ovsrec_server_has_ipfix_table_col_template_interval(const struct ovsdb_idl *); 
2309
const struct ovsdb_type *ovsrec_ipfix_template_interval_server_type(const struct ovsdb_idl *); 
2310
2311
bool ovsrec_server_has_ipfix_table(const struct ovsdb_idl *);
2312
const struct ovsrec_ipfix_table *ovsrec_ipfix_table_get(const struct ovsdb_idl *);
2313
const struct ovsrec_ipfix *ovsrec_ipfix_table_first(const struct ovsrec_ipfix_table *);
2314
2315
#define OVSREC_IPFIX_TABLE_FOR_EACH(ROW, TABLE) \
2316
        for ((ROW) = ovsrec_ipfix_table_first(TABLE); \
2317
             (ROW); \
2318
             (ROW) = ovsrec_ipfix_next(ROW))
2319
#define OVSREC_IPFIX_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
2320
        for ((ROW) = ovsrec_ipfix_table_first(TABLE); \
2321
             (ROW) ? ((NEXT) = ovsrec_ipfix_next(ROW), 1) : 0; \
2322
             (ROW) = (NEXT))
2323
#define OVSREC_IPFIX_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
2324
        for (const struct ovsrec_ipfix * ROW__next = ((ROW) = ovsrec_ipfix_table_first(TABLE), NULL); \
2325
             (ROW) ? (ROW__next = ovsrec_ipfix_next(ROW), 1) : (ROW__next = NULL, 0); \
2326
             (ROW) = ROW__next)
2327
#define OVSREC_IPFIX_TABLE_FOR_EACH_SAFE(...)                                        \
2328
        OVERLOAD_SAFE_MACRO(OVSREC_IPFIX_TABLE_FOR_EACH_SAFE_LONG,                   \
2329
                            OVSREC_IPFIX_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
2330
2331
2332
const struct ovsrec_ipfix *ovsrec_ipfix_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
2333
const struct ovsrec_ipfix *ovsrec_ipfix_table_get_for_uuid(const struct ovsrec_ipfix_table *, const struct uuid *);
2334
const struct ovsrec_ipfix *ovsrec_ipfix_first(const struct ovsdb_idl *);
2335
const struct ovsrec_ipfix *ovsrec_ipfix_next(const struct ovsrec_ipfix *);
2336
#define OVSREC_IPFIX_FOR_EACH(ROW, IDL) \
2337
        for ((ROW) = ovsrec_ipfix_first(IDL); \
2338
             (ROW); \
2339
             (ROW) = ovsrec_ipfix_next(ROW))
2340
#define OVSREC_IPFIX_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
2341
        for ((ROW) = ovsrec_ipfix_first(IDL); \
2342
             (ROW) ? ((NEXT) = ovsrec_ipfix_next(ROW), 1) : 0; \
2343
             (ROW) = (NEXT))
2344
#define OVSREC_IPFIX_FOR_EACH_SAFE_SHORT(ROW, IDL) \
2345
        for (const struct ovsrec_ipfix * ROW__next = ((ROW) = ovsrec_ipfix_first(IDL), NULL); \
2346
             (ROW) ? (ROW__next = ovsrec_ipfix_next(ROW), 1) : (ROW__next = NULL, 0); \
2347
             (ROW) = ROW__next)
2348
#define OVSREC_IPFIX_FOR_EACH_SAFE(...)                                         \
2349
        OVERLOAD_SAFE_MACRO(OVSREC_IPFIX_FOR_EACH_SAFE_LONG,                    \
2350
                            OVSREC_IPFIX_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
2351
2352
unsigned int ovsrec_ipfix_get_seqno(const struct ovsdb_idl *);
2353
unsigned int ovsrec_ipfix_row_get_seqno(const struct ovsrec_ipfix *row, enum ovsdb_idl_change change);
2354
const struct ovsrec_ipfix *ovsrec_ipfix_track_get_first(const struct ovsdb_idl *);
2355
const struct ovsrec_ipfix *ovsrec_ipfix_track_get_next(const struct ovsrec_ipfix *);
2356
#define OVSREC_IPFIX_FOR_EACH_TRACKED(ROW, IDL) \
2357
        for ((ROW) = ovsrec_ipfix_track_get_first(IDL); \
2358
             (ROW); \
2359
             (ROW) = ovsrec_ipfix_track_get_next(ROW))
2360
2361
const struct ovsrec_ipfix *ovsrec_ipfix_table_track_get_first(const struct ovsrec_ipfix_table *);
2362
#define OVSREC_IPFIX_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
2363
        for ((ROW) = ovsrec_ipfix_table_track_get_first(TABLE); \
2364
             (ROW); \
2365
             (ROW) = ovsrec_ipfix_track_get_next(ROW))
2366
2367
2368
/* Returns true if 'row' was inserted since the last change tracking reset.
2369
 *
2370
 * Note: This can only be used to test rows of tracked changes. This cannot be
2371
 * used to test if an uncommitted row that has been added locally is new or it
2372
 * may given unexpected results. */
2373
static inline bool ovsrec_ipfix_is_new(const struct ovsrec_ipfix *row)
2374
0
{
2375
0
    return ovsrec_ipfix_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
2376
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_ipfix_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_ipfix_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_ipfix_is_new
2377
2378
/* Returns true if 'row' was deleted since the last change tracking reset.
2379
 *
2380
 * Note: This can only be used to test rows of tracked changes. This cannot be
2381
 * used to test if an uncommitted row that has been added locally has been
2382
 * deleted or it may given unexpected results. */
2383
static inline bool ovsrec_ipfix_is_deleted(const struct ovsrec_ipfix *row)
2384
0
{
2385
0
    return ovsrec_ipfix_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
2386
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_ipfix_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_ipfix_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_ipfix_is_deleted
2387
2388
void ovsrec_ipfix_index_destroy_row(const struct ovsrec_ipfix *);
2389
2390
struct ovsrec_ipfix *ovsrec_ipfix_index_find(struct ovsdb_idl_index *, const struct ovsrec_ipfix *);
2391
2392
int ovsrec_ipfix_index_compare(
2393
    struct ovsdb_idl_index *, 
2394
    const struct ovsrec_ipfix *, 
2395
    const struct ovsrec_ipfix *);
2396
struct ovsdb_idl_cursor ovsrec_ipfix_cursor_first(struct ovsdb_idl_index *);
2397
struct ovsdb_idl_cursor ovsrec_ipfix_cursor_first_eq(
2398
    struct ovsdb_idl_index *, const struct ovsrec_ipfix *);
2399
struct ovsdb_idl_cursor ovsrec_ipfix_cursor_first_ge(
2400
    struct ovsdb_idl_index *, const struct ovsrec_ipfix *);
2401
2402
struct ovsrec_ipfix *ovsrec_ipfix_cursor_data(struct ovsdb_idl_cursor *);
2403
2404
#define OVSREC_IPFIX_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
2405
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ipfix_cursor_first_ge(INDEX, FROM); \
2406
             (cursor__.position \
2407
              && ((ROW) = ovsrec_ipfix_cursor_data(&cursor__), \
2408
                  !(TO) || ovsrec_ipfix_index_compare(INDEX, ROW, TO) <= 0)); \
2409
             ovsdb_idl_cursor_next(&cursor__))
2410
#define OVSREC_IPFIX_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
2411
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ipfix_cursor_first_eq(INDEX, KEY); \
2412
             (cursor__.position \
2413
              ? ((ROW) = ovsrec_ipfix_cursor_data(&cursor__), \
2414
                 ovsdb_idl_cursor_next_eq(&cursor__), \
2415
                 true) \
2416
              : false); \
2417
            )
2418
#define OVSREC_IPFIX_FOR_EACH_BYINDEX(ROW, INDEX) \
2419
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ipfix_cursor_first(INDEX); \
2420
             (cursor__.position \
2421
              ? ((ROW) = ovsrec_ipfix_cursor_data(&cursor__), \
2422
                 ovsdb_idl_cursor_next(&cursor__), \
2423
                 true) \
2424
              : false); \
2425
            )
2426
2427
void ovsrec_ipfix_init(struct ovsrec_ipfix *);
2428
void ovsrec_ipfix_delete(const struct ovsrec_ipfix *);
2429
struct ovsrec_ipfix *ovsrec_ipfix_insert(struct ovsdb_idl_txn *);
2430
struct ovsrec_ipfix *ovsrec_ipfix_insert_persist_uuid(
2431
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
2432
2433
/* Returns true if the tracked column referenced by 'enum ovsrec_ipfix_column_id' of
2434
 * the row referenced by 'struct ovsrec_ipfix *' was updated since the last change
2435
 * tracking reset.
2436
 *
2437
 * Note: This can only be used to test rows of tracked changes. This cannot be
2438
 * used to test if an uncommitted row that has been added locally has been
2439
 * updated or it may given unexpected results. */
2440
bool ovsrec_ipfix_is_updated(const struct ovsrec_ipfix *, enum ovsrec_ipfix_column_id);
2441
2442
void ovsrec_ipfix_verify_cache_active_timeout(const struct ovsrec_ipfix *);
2443
void ovsrec_ipfix_verify_cache_max_flows(const struct ovsrec_ipfix *);
2444
void ovsrec_ipfix_verify_external_ids(const struct ovsrec_ipfix *);
2445
void ovsrec_ipfix_verify_obs_domain_id(const struct ovsrec_ipfix *);
2446
void ovsrec_ipfix_verify_obs_point_id(const struct ovsrec_ipfix *);
2447
void ovsrec_ipfix_verify_other_config(const struct ovsrec_ipfix *);
2448
void ovsrec_ipfix_verify_sampling(const struct ovsrec_ipfix *);
2449
void ovsrec_ipfix_verify_stats_interval(const struct ovsrec_ipfix *);
2450
void ovsrec_ipfix_verify_targets(const struct ovsrec_ipfix *);
2451
void ovsrec_ipfix_verify_template_interval(const struct ovsrec_ipfix *);
2452
2453
const struct ovsdb_datum *ovsrec_ipfix_get_cache_active_timeout(const struct ovsrec_ipfix *, enum ovsdb_atomic_type key_type);
2454
const struct ovsdb_datum *ovsrec_ipfix_get_cache_max_flows(const struct ovsrec_ipfix *, enum ovsdb_atomic_type key_type);
2455
const struct ovsdb_datum *ovsrec_ipfix_get_external_ids(const struct ovsrec_ipfix *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
2456
const struct ovsdb_datum *ovsrec_ipfix_get_obs_domain_id(const struct ovsrec_ipfix *, enum ovsdb_atomic_type key_type);
2457
const struct ovsdb_datum *ovsrec_ipfix_get_obs_point_id(const struct ovsrec_ipfix *, enum ovsdb_atomic_type key_type);
2458
const struct ovsdb_datum *ovsrec_ipfix_get_other_config(const struct ovsrec_ipfix *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
2459
const struct ovsdb_datum *ovsrec_ipfix_get_sampling(const struct ovsrec_ipfix *, enum ovsdb_atomic_type key_type);
2460
const struct ovsdb_datum *ovsrec_ipfix_get_stats_interval(const struct ovsrec_ipfix *, enum ovsdb_atomic_type key_type);
2461
const struct ovsdb_datum *ovsrec_ipfix_get_targets(const struct ovsrec_ipfix *, enum ovsdb_atomic_type key_type);
2462
const struct ovsdb_datum *ovsrec_ipfix_get_template_interval(const struct ovsrec_ipfix *, enum ovsdb_atomic_type key_type);
2463
2464
void ovsrec_ipfix_set_cache_active_timeout(const struct ovsrec_ipfix *, const int64_t *cache_active_timeout, size_t n_cache_active_timeout);
2465
void ovsrec_ipfix_set_cache_max_flows(const struct ovsrec_ipfix *, const int64_t *cache_max_flows, size_t n_cache_max_flows);
2466
void ovsrec_ipfix_set_external_ids(const struct ovsrec_ipfix *, const struct smap *);
2467
void ovsrec_ipfix_set_obs_domain_id(const struct ovsrec_ipfix *, const int64_t *obs_domain_id, size_t n_obs_domain_id);
2468
void ovsrec_ipfix_set_obs_point_id(const struct ovsrec_ipfix *, const int64_t *obs_point_id, size_t n_obs_point_id);
2469
void ovsrec_ipfix_set_other_config(const struct ovsrec_ipfix *, const struct smap *);
2470
void ovsrec_ipfix_set_sampling(const struct ovsrec_ipfix *, const int64_t *sampling, size_t n_sampling);
2471
void ovsrec_ipfix_set_stats_interval(const struct ovsrec_ipfix *, const int64_t *stats_interval, size_t n_stats_interval);
2472
void ovsrec_ipfix_set_targets(const struct ovsrec_ipfix *, const char **targets, size_t n_targets);
2473
void ovsrec_ipfix_set_template_interval(const struct ovsrec_ipfix *, const int64_t *template_interval, size_t n_template_interval);
2474
2475
void ovsrec_ipfix_update_cache_active_timeout_addvalue(const struct ovsrec_ipfix *,  int64_t );
2476
void ovsrec_ipfix_update_cache_active_timeout_delvalue(const struct ovsrec_ipfix *,  int64_t );
2477
void ovsrec_ipfix_add_clause_cache_active_timeout(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *cache_active_timeout, size_t n_cache_active_timeout);
2478
unsigned int ovsrec_ipfix_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2479
void ovsrec_ipfix_update_cache_max_flows_addvalue(const struct ovsrec_ipfix *,  int64_t );
2480
void ovsrec_ipfix_update_cache_max_flows_delvalue(const struct ovsrec_ipfix *,  int64_t );
2481
void ovsrec_ipfix_add_clause_cache_max_flows(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *cache_max_flows, size_t n_cache_max_flows);
2482
unsigned int ovsrec_ipfix_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2483
void ovsrec_ipfix_update_external_ids_setkey(const struct ovsrec_ipfix *,  const char *, const char *);
2484
void ovsrec_ipfix_update_external_ids_delkey(const struct ovsrec_ipfix *,  const char *);
2485
void ovsrec_ipfix_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
2486
unsigned int ovsrec_ipfix_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2487
void ovsrec_ipfix_update_obs_domain_id_addvalue(const struct ovsrec_ipfix *,  int64_t );
2488
void ovsrec_ipfix_update_obs_domain_id_delvalue(const struct ovsrec_ipfix *,  int64_t );
2489
void ovsrec_ipfix_add_clause_obs_domain_id(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *obs_domain_id, size_t n_obs_domain_id);
2490
unsigned int ovsrec_ipfix_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2491
void ovsrec_ipfix_update_obs_point_id_addvalue(const struct ovsrec_ipfix *,  int64_t );
2492
void ovsrec_ipfix_update_obs_point_id_delvalue(const struct ovsrec_ipfix *,  int64_t );
2493
void ovsrec_ipfix_add_clause_obs_point_id(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *obs_point_id, size_t n_obs_point_id);
2494
unsigned int ovsrec_ipfix_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2495
void ovsrec_ipfix_update_other_config_setkey(const struct ovsrec_ipfix *,  const char *, const char *);
2496
void ovsrec_ipfix_update_other_config_delkey(const struct ovsrec_ipfix *,  const char *);
2497
void ovsrec_ipfix_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
2498
unsigned int ovsrec_ipfix_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2499
void ovsrec_ipfix_update_sampling_addvalue(const struct ovsrec_ipfix *,  int64_t );
2500
void ovsrec_ipfix_update_sampling_delvalue(const struct ovsrec_ipfix *,  int64_t );
2501
void ovsrec_ipfix_add_clause_sampling(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *sampling, size_t n_sampling);
2502
unsigned int ovsrec_ipfix_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2503
void ovsrec_ipfix_update_stats_interval_addvalue(const struct ovsrec_ipfix *,  int64_t );
2504
void ovsrec_ipfix_update_stats_interval_delvalue(const struct ovsrec_ipfix *,  int64_t );
2505
void ovsrec_ipfix_add_clause_stats_interval(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *stats_interval, size_t n_stats_interval);
2506
unsigned int ovsrec_ipfix_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2507
void ovsrec_ipfix_update_targets_addvalue(const struct ovsrec_ipfix *,  const char *);
2508
void ovsrec_ipfix_update_targets_delvalue(const struct ovsrec_ipfix *,  const char *);
2509
void ovsrec_ipfix_add_clause_targets(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **targets, size_t n_targets);
2510
unsigned int ovsrec_ipfix_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2511
void ovsrec_ipfix_update_template_interval_addvalue(const struct ovsrec_ipfix *,  int64_t );
2512
void ovsrec_ipfix_update_template_interval_delvalue(const struct ovsrec_ipfix *,  int64_t );
2513
void ovsrec_ipfix_add_clause_template_interval(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *template_interval, size_t n_template_interval);
2514
unsigned int ovsrec_ipfix_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
2515
2516
struct ovsrec_ipfix *ovsrec_ipfix_index_init_row(struct ovsdb_idl_index *);
2517
void ovsrec_ipfix_index_set_cache_active_timeout(const struct ovsrec_ipfix *,
2518
const int64_t *cache_active_timeout, size_t n_cache_active_timeout);
2519
void ovsrec_ipfix_index_set_cache_max_flows(const struct ovsrec_ipfix *,
2520
const int64_t *cache_max_flows, size_t n_cache_max_flows);
2521
void ovsrec_ipfix_index_set_external_ids(const struct ovsrec_ipfix *,
2522
const struct smap *);
2523
void ovsrec_ipfix_index_set_obs_domain_id(const struct ovsrec_ipfix *,
2524
const int64_t *obs_domain_id, size_t n_obs_domain_id);
2525
void ovsrec_ipfix_index_set_obs_point_id(const struct ovsrec_ipfix *,
2526
const int64_t *obs_point_id, size_t n_obs_point_id);
2527
void ovsrec_ipfix_index_set_other_config(const struct ovsrec_ipfix *,
2528
const struct smap *);
2529
void ovsrec_ipfix_index_set_sampling(const struct ovsrec_ipfix *,
2530
const int64_t *sampling, size_t n_sampling);
2531
void ovsrec_ipfix_index_set_stats_interval(const struct ovsrec_ipfix *,
2532
const int64_t *stats_interval, size_t n_stats_interval);
2533
void ovsrec_ipfix_index_set_targets(const struct ovsrec_ipfix *,
2534
const char **targets, size_t n_targets);
2535
void ovsrec_ipfix_index_set_template_interval(const struct ovsrec_ipfix *,
2536
const int64_t *template_interval, size_t n_template_interval);
2537

2538
/* Interface table. */
2539
struct ovsrec_interface {
2540
  struct ovsdb_idl_row header_;
2541
2542
  /* admin_state column. */
2543
  char *admin_state;
2544
2545
  /* bfd column. */
2546
  struct smap bfd;
2547
2548
  /* bfd_status column. */
2549
  struct smap bfd_status;
2550
2551
  /* cfm_fault column. */
2552
  bool *cfm_fault;
2553
  size_t n_cfm_fault;
2554
2555
  /* cfm_fault_status column. */
2556
  char **cfm_fault_status;
2557
  size_t n_cfm_fault_status;
2558
2559
  /* cfm_flap_count column. */
2560
  int64_t *cfm_flap_count;
2561
  size_t n_cfm_flap_count;
2562
2563
  /* cfm_health column. */
2564
  int64_t *cfm_health;
2565
  size_t n_cfm_health;
2566
2567
  /* cfm_mpid column. */
2568
  int64_t *cfm_mpid;
2569
  size_t n_cfm_mpid;
2570
2571
  /* cfm_remote_mpids column. */
2572
  int64_t *cfm_remote_mpids;
2573
  size_t n_cfm_remote_mpids;
2574
2575
  /* cfm_remote_opstate column. */
2576
  char *cfm_remote_opstate;
2577
2578
  /* duplex column. */
2579
  char *duplex;
2580
2581
  /* error column. */
2582
  char *error;
2583
2584
  /* external_ids column. */
2585
  struct smap external_ids;
2586
2587
  /* ifindex column. */
2588
  int64_t *ifindex;
2589
  size_t n_ifindex;
2590
2591
  /* ingress_policing_burst column. */
2592
  int64_t ingress_policing_burst;
2593
2594
  /* ingress_policing_kpkts_burst column. */
2595
  int64_t ingress_policing_kpkts_burst;
2596
2597
  /* ingress_policing_kpkts_rate column. */
2598
  int64_t ingress_policing_kpkts_rate;
2599
2600
  /* ingress_policing_rate column. */
2601
  int64_t ingress_policing_rate;
2602
2603
  /* lacp_current column. */
2604
  bool *lacp_current;
2605
  size_t n_lacp_current;
2606
2607
  /* link_resets column. */
2608
  int64_t *link_resets;
2609
  size_t n_link_resets;
2610
2611
  /* link_speed column. */
2612
  int64_t *link_speed;
2613
  size_t n_link_speed;
2614
2615
  /* link_state column. */
2616
  char *link_state;
2617
2618
  /* lldp column. */
2619
  struct smap lldp;
2620
2621
  /* mac column. */
2622
  char *mac;
2623
2624
  /* mac_in_use column. */
2625
  char *mac_in_use;
2626
2627
  /* mtu column. */
2628
  int64_t *mtu;
2629
  size_t n_mtu;
2630
2631
  /* mtu_request column. */
2632
  int64_t *mtu_request;
2633
  size_t n_mtu_request;
2634
2635
  /* name column. */
2636
  char *name; /* Always nonnull. */
2637
2638
  /* ofport column. */
2639
  int64_t *ofport;
2640
  size_t n_ofport;
2641
2642
  /* ofport_request column. */
2643
  int64_t *ofport_request;
2644
  size_t n_ofport_request;
2645
2646
  /* options column. */
2647
  struct smap options;
2648
2649
  /* other_config column. */
2650
  struct smap other_config;
2651
2652
  /* statistics column. */
2653
  char **key_statistics;
2654
  int64_t *value_statistics;
2655
  size_t n_statistics;
2656
2657
  /* status column. */
2658
  struct smap status;
2659
2660
  /* type column. */
2661
  char *type; /* Always nonnull. */
2662
};
2663
2664
enum ovsrec_interface_column_id {
2665
    OVSREC_INTERFACE_COL_ADMIN_STATE,
2666
    OVSREC_INTERFACE_COL_BFD,
2667
    OVSREC_INTERFACE_COL_BFD_STATUS,
2668
    OVSREC_INTERFACE_COL_CFM_FAULT,
2669
    OVSREC_INTERFACE_COL_CFM_FAULT_STATUS,
2670
    OVSREC_INTERFACE_COL_CFM_FLAP_COUNT,
2671
    OVSREC_INTERFACE_COL_CFM_HEALTH,
2672
    OVSREC_INTERFACE_COL_CFM_MPID,
2673
    OVSREC_INTERFACE_COL_CFM_REMOTE_MPIDS,
2674
    OVSREC_INTERFACE_COL_CFM_REMOTE_OPSTATE,
2675
    OVSREC_INTERFACE_COL_DUPLEX,
2676
    OVSREC_INTERFACE_COL_ERROR,
2677
    OVSREC_INTERFACE_COL_EXTERNAL_IDS,
2678
    OVSREC_INTERFACE_COL_IFINDEX,
2679
    OVSREC_INTERFACE_COL_INGRESS_POLICING_BURST,
2680
    OVSREC_INTERFACE_COL_INGRESS_POLICING_KPKTS_BURST,
2681
    OVSREC_INTERFACE_COL_INGRESS_POLICING_KPKTS_RATE,
2682
    OVSREC_INTERFACE_COL_INGRESS_POLICING_RATE,
2683
    OVSREC_INTERFACE_COL_LACP_CURRENT,
2684
    OVSREC_INTERFACE_COL_LINK_RESETS,
2685
    OVSREC_INTERFACE_COL_LINK_SPEED,
2686
    OVSREC_INTERFACE_COL_LINK_STATE,
2687
    OVSREC_INTERFACE_COL_LLDP,
2688
    OVSREC_INTERFACE_COL_MAC,
2689
    OVSREC_INTERFACE_COL_MAC_IN_USE,
2690
    OVSREC_INTERFACE_COL_MTU,
2691
    OVSREC_INTERFACE_COL_MTU_REQUEST,
2692
    OVSREC_INTERFACE_COL_NAME,
2693
    OVSREC_INTERFACE_COL_OFPORT,
2694
    OVSREC_INTERFACE_COL_OFPORT_REQUEST,
2695
    OVSREC_INTERFACE_COL_OPTIONS,
2696
    OVSREC_INTERFACE_COL_OTHER_CONFIG,
2697
    OVSREC_INTERFACE_COL_STATISTICS,
2698
    OVSREC_INTERFACE_COL_STATUS,
2699
    OVSREC_INTERFACE_COL_TYPE,
2700
    OVSREC_INTERFACE_N_COLUMNS
2701
};
2702
2703
0
#define ovsrec_interface_col_admin_state (ovsrec_interface_columns[OVSREC_INTERFACE_COL_ADMIN_STATE])
2704
0
#define ovsrec_interface_col_bfd (ovsrec_interface_columns[OVSREC_INTERFACE_COL_BFD])
2705
0
#define ovsrec_interface_col_bfd_status (ovsrec_interface_columns[OVSREC_INTERFACE_COL_BFD_STATUS])
2706
0
#define ovsrec_interface_col_cfm_fault (ovsrec_interface_columns[OVSREC_INTERFACE_COL_CFM_FAULT])
2707
0
#define ovsrec_interface_col_cfm_fault_status (ovsrec_interface_columns[OVSREC_INTERFACE_COL_CFM_FAULT_STATUS])
2708
0
#define ovsrec_interface_col_cfm_flap_count (ovsrec_interface_columns[OVSREC_INTERFACE_COL_CFM_FLAP_COUNT])
2709
0
#define ovsrec_interface_col_cfm_health (ovsrec_interface_columns[OVSREC_INTERFACE_COL_CFM_HEALTH])
2710
0
#define ovsrec_interface_col_cfm_mpid (ovsrec_interface_columns[OVSREC_INTERFACE_COL_CFM_MPID])
2711
0
#define ovsrec_interface_col_cfm_remote_mpids (ovsrec_interface_columns[OVSREC_INTERFACE_COL_CFM_REMOTE_MPIDS])
2712
0
#define ovsrec_interface_col_cfm_remote_opstate (ovsrec_interface_columns[OVSREC_INTERFACE_COL_CFM_REMOTE_OPSTATE])
2713
0
#define ovsrec_interface_col_duplex (ovsrec_interface_columns[OVSREC_INTERFACE_COL_DUPLEX])
2714
0
#define ovsrec_interface_col_error (ovsrec_interface_columns[OVSREC_INTERFACE_COL_ERROR])
2715
0
#define ovsrec_interface_col_external_ids (ovsrec_interface_columns[OVSREC_INTERFACE_COL_EXTERNAL_IDS])
2716
0
#define ovsrec_interface_col_ifindex (ovsrec_interface_columns[OVSREC_INTERFACE_COL_IFINDEX])
2717
0
#define ovsrec_interface_col_ingress_policing_burst (ovsrec_interface_columns[OVSREC_INTERFACE_COL_INGRESS_POLICING_BURST])
2718
0
#define ovsrec_interface_col_ingress_policing_kpkts_burst (ovsrec_interface_columns[OVSREC_INTERFACE_COL_INGRESS_POLICING_KPKTS_BURST])
2719
0
#define ovsrec_interface_col_ingress_policing_kpkts_rate (ovsrec_interface_columns[OVSREC_INTERFACE_COL_INGRESS_POLICING_KPKTS_RATE])
2720
0
#define ovsrec_interface_col_ingress_policing_rate (ovsrec_interface_columns[OVSREC_INTERFACE_COL_INGRESS_POLICING_RATE])
2721
0
#define ovsrec_interface_col_lacp_current (ovsrec_interface_columns[OVSREC_INTERFACE_COL_LACP_CURRENT])
2722
0
#define ovsrec_interface_col_link_resets (ovsrec_interface_columns[OVSREC_INTERFACE_COL_LINK_RESETS])
2723
0
#define ovsrec_interface_col_link_speed (ovsrec_interface_columns[OVSREC_INTERFACE_COL_LINK_SPEED])
2724
0
#define ovsrec_interface_col_link_state (ovsrec_interface_columns[OVSREC_INTERFACE_COL_LINK_STATE])
2725
0
#define ovsrec_interface_col_lldp (ovsrec_interface_columns[OVSREC_INTERFACE_COL_LLDP])
2726
0
#define ovsrec_interface_col_mac (ovsrec_interface_columns[OVSREC_INTERFACE_COL_MAC])
2727
0
#define ovsrec_interface_col_mac_in_use (ovsrec_interface_columns[OVSREC_INTERFACE_COL_MAC_IN_USE])
2728
0
#define ovsrec_interface_col_mtu (ovsrec_interface_columns[OVSREC_INTERFACE_COL_MTU])
2729
0
#define ovsrec_interface_col_mtu_request (ovsrec_interface_columns[OVSREC_INTERFACE_COL_MTU_REQUEST])
2730
0
#define ovsrec_interface_col_name (ovsrec_interface_columns[OVSREC_INTERFACE_COL_NAME])
2731
0
#define ovsrec_interface_col_ofport (ovsrec_interface_columns[OVSREC_INTERFACE_COL_OFPORT])
2732
0
#define ovsrec_interface_col_ofport_request (ovsrec_interface_columns[OVSREC_INTERFACE_COL_OFPORT_REQUEST])
2733
0
#define ovsrec_interface_col_options (ovsrec_interface_columns[OVSREC_INTERFACE_COL_OPTIONS])
2734
0
#define ovsrec_interface_col_other_config (ovsrec_interface_columns[OVSREC_INTERFACE_COL_OTHER_CONFIG])
2735
0
#define ovsrec_interface_col_statistics (ovsrec_interface_columns[OVSREC_INTERFACE_COL_STATISTICS])
2736
0
#define ovsrec_interface_col_status (ovsrec_interface_columns[OVSREC_INTERFACE_COL_STATUS])
2737
0
#define ovsrec_interface_col_type (ovsrec_interface_columns[OVSREC_INTERFACE_COL_TYPE])
2738
2739
extern struct ovsdb_idl_column ovsrec_interface_columns[OVSREC_INTERFACE_N_COLUMNS];
2740
bool ovsrec_server_has_interface_table_col_admin_state(const struct ovsdb_idl *); 
2741
const struct ovsdb_type *ovsrec_interface_admin_state_server_type(const struct ovsdb_idl *); 
2742
bool ovsrec_server_has_interface_table_col_bfd(const struct ovsdb_idl *); 
2743
const struct ovsdb_type *ovsrec_interface_bfd_server_type(const struct ovsdb_idl *); 
2744
bool ovsrec_server_has_interface_table_col_bfd_status(const struct ovsdb_idl *); 
2745
const struct ovsdb_type *ovsrec_interface_bfd_status_server_type(const struct ovsdb_idl *); 
2746
bool ovsrec_server_has_interface_table_col_cfm_fault(const struct ovsdb_idl *); 
2747
const struct ovsdb_type *ovsrec_interface_cfm_fault_server_type(const struct ovsdb_idl *); 
2748
bool ovsrec_server_has_interface_table_col_cfm_fault_status(const struct ovsdb_idl *); 
2749
const struct ovsdb_type *ovsrec_interface_cfm_fault_status_server_type(const struct ovsdb_idl *); 
2750
bool ovsrec_server_has_interface_table_col_cfm_flap_count(const struct ovsdb_idl *); 
2751
const struct ovsdb_type *ovsrec_interface_cfm_flap_count_server_type(const struct ovsdb_idl *); 
2752
bool ovsrec_server_has_interface_table_col_cfm_health(const struct ovsdb_idl *); 
2753
const struct ovsdb_type *ovsrec_interface_cfm_health_server_type(const struct ovsdb_idl *); 
2754
bool ovsrec_server_has_interface_table_col_cfm_mpid(const struct ovsdb_idl *); 
2755
const struct ovsdb_type *ovsrec_interface_cfm_mpid_server_type(const struct ovsdb_idl *); 
2756
bool ovsrec_server_has_interface_table_col_cfm_remote_mpids(const struct ovsdb_idl *); 
2757
const struct ovsdb_type *ovsrec_interface_cfm_remote_mpids_server_type(const struct ovsdb_idl *); 
2758
bool ovsrec_server_has_interface_table_col_cfm_remote_opstate(const struct ovsdb_idl *); 
2759
const struct ovsdb_type *ovsrec_interface_cfm_remote_opstate_server_type(const struct ovsdb_idl *); 
2760
bool ovsrec_server_has_interface_table_col_duplex(const struct ovsdb_idl *); 
2761
const struct ovsdb_type *ovsrec_interface_duplex_server_type(const struct ovsdb_idl *); 
2762
bool ovsrec_server_has_interface_table_col_error(const struct ovsdb_idl *); 
2763
const struct ovsdb_type *ovsrec_interface_error_server_type(const struct ovsdb_idl *); 
2764
bool ovsrec_server_has_interface_table_col_external_ids(const struct ovsdb_idl *); 
2765
const struct ovsdb_type *ovsrec_interface_external_ids_server_type(const struct ovsdb_idl *); 
2766
bool ovsrec_server_has_interface_table_col_ifindex(const struct ovsdb_idl *); 
2767
const struct ovsdb_type *ovsrec_interface_ifindex_server_type(const struct ovsdb_idl *); 
2768
bool ovsrec_server_has_interface_table_col_ingress_policing_burst(const struct ovsdb_idl *); 
2769
const struct ovsdb_type *ovsrec_interface_ingress_policing_burst_server_type(const struct ovsdb_idl *); 
2770
bool ovsrec_server_has_interface_table_col_ingress_policing_kpkts_burst(const struct ovsdb_idl *); 
2771
const struct ovsdb_type *ovsrec_interface_ingress_policing_kpkts_burst_server_type(const struct ovsdb_idl *); 
2772
bool ovsrec_server_has_interface_table_col_ingress_policing_kpkts_rate(const struct ovsdb_idl *); 
2773
const struct ovsdb_type *ovsrec_interface_ingress_policing_kpkts_rate_server_type(const struct ovsdb_idl *); 
2774
bool ovsrec_server_has_interface_table_col_ingress_policing_rate(const struct ovsdb_idl *); 
2775
const struct ovsdb_type *ovsrec_interface_ingress_policing_rate_server_type(const struct ovsdb_idl *); 
2776
bool ovsrec_server_has_interface_table_col_lacp_current(const struct ovsdb_idl *); 
2777
const struct ovsdb_type *ovsrec_interface_lacp_current_server_type(const struct ovsdb_idl *); 
2778
bool ovsrec_server_has_interface_table_col_link_resets(const struct ovsdb_idl *); 
2779
const struct ovsdb_type *ovsrec_interface_link_resets_server_type(const struct ovsdb_idl *); 
2780
bool ovsrec_server_has_interface_table_col_link_speed(const struct ovsdb_idl *); 
2781
const struct ovsdb_type *ovsrec_interface_link_speed_server_type(const struct ovsdb_idl *); 
2782
bool ovsrec_server_has_interface_table_col_link_state(const struct ovsdb_idl *); 
2783
const struct ovsdb_type *ovsrec_interface_link_state_server_type(const struct ovsdb_idl *); 
2784
bool ovsrec_server_has_interface_table_col_lldp(const struct ovsdb_idl *); 
2785
const struct ovsdb_type *ovsrec_interface_lldp_server_type(const struct ovsdb_idl *); 
2786
bool ovsrec_server_has_interface_table_col_mac(const struct ovsdb_idl *); 
2787
const struct ovsdb_type *ovsrec_interface_mac_server_type(const struct ovsdb_idl *); 
2788
bool ovsrec_server_has_interface_table_col_mac_in_use(const struct ovsdb_idl *); 
2789
const struct ovsdb_type *ovsrec_interface_mac_in_use_server_type(const struct ovsdb_idl *); 
2790
bool ovsrec_server_has_interface_table_col_mtu(const struct ovsdb_idl *); 
2791
const struct ovsdb_type *ovsrec_interface_mtu_server_type(const struct ovsdb_idl *); 
2792
bool ovsrec_server_has_interface_table_col_mtu_request(const struct ovsdb_idl *); 
2793
const struct ovsdb_type *ovsrec_interface_mtu_request_server_type(const struct ovsdb_idl *); 
2794
bool ovsrec_server_has_interface_table_col_name(const struct ovsdb_idl *); 
2795
const struct ovsdb_type *ovsrec_interface_name_server_type(const struct ovsdb_idl *); 
2796
bool ovsrec_server_has_interface_table_col_ofport(const struct ovsdb_idl *); 
2797
const struct ovsdb_type *ovsrec_interface_ofport_server_type(const struct ovsdb_idl *); 
2798
bool ovsrec_server_has_interface_table_col_ofport_request(const struct ovsdb_idl *); 
2799
const struct ovsdb_type *ovsrec_interface_ofport_request_server_type(const struct ovsdb_idl *); 
2800
bool ovsrec_server_has_interface_table_col_options(const struct ovsdb_idl *); 
2801
const struct ovsdb_type *ovsrec_interface_options_server_type(const struct ovsdb_idl *); 
2802
bool ovsrec_server_has_interface_table_col_other_config(const struct ovsdb_idl *); 
2803
const struct ovsdb_type *ovsrec_interface_other_config_server_type(const struct ovsdb_idl *); 
2804
bool ovsrec_server_has_interface_table_col_statistics(const struct ovsdb_idl *); 
2805
const struct ovsdb_type *ovsrec_interface_statistics_server_type(const struct ovsdb_idl *); 
2806
bool ovsrec_server_has_interface_table_col_status(const struct ovsdb_idl *); 
2807
const struct ovsdb_type *ovsrec_interface_status_server_type(const struct ovsdb_idl *); 
2808
bool ovsrec_server_has_interface_table_col_type(const struct ovsdb_idl *); 
2809
const struct ovsdb_type *ovsrec_interface_type_server_type(const struct ovsdb_idl *); 
2810
2811
bool ovsrec_server_has_interface_table(const struct ovsdb_idl *);
2812
const struct ovsrec_interface_table *ovsrec_interface_table_get(const struct ovsdb_idl *);
2813
const struct ovsrec_interface *ovsrec_interface_table_first(const struct ovsrec_interface_table *);
2814
2815
#define OVSREC_INTERFACE_TABLE_FOR_EACH(ROW, TABLE) \
2816
        for ((ROW) = ovsrec_interface_table_first(TABLE); \
2817
             (ROW); \
2818
             (ROW) = ovsrec_interface_next(ROW))
2819
#define OVSREC_INTERFACE_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
2820
        for ((ROW) = ovsrec_interface_table_first(TABLE); \
2821
             (ROW) ? ((NEXT) = ovsrec_interface_next(ROW), 1) : 0; \
2822
             (ROW) = (NEXT))
2823
#define OVSREC_INTERFACE_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
2824
        for (const struct ovsrec_interface * ROW__next = ((ROW) = ovsrec_interface_table_first(TABLE), NULL); \
2825
             (ROW) ? (ROW__next = ovsrec_interface_next(ROW), 1) : (ROW__next = NULL, 0); \
2826
             (ROW) = ROW__next)
2827
#define OVSREC_INTERFACE_TABLE_FOR_EACH_SAFE(...)                                        \
2828
        OVERLOAD_SAFE_MACRO(OVSREC_INTERFACE_TABLE_FOR_EACH_SAFE_LONG,                   \
2829
                            OVSREC_INTERFACE_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
2830
2831
2832
const struct ovsrec_interface *ovsrec_interface_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
2833
const struct ovsrec_interface *ovsrec_interface_table_get_for_uuid(const struct ovsrec_interface_table *, const struct uuid *);
2834
const struct ovsrec_interface *ovsrec_interface_first(const struct ovsdb_idl *);
2835
const struct ovsrec_interface *ovsrec_interface_next(const struct ovsrec_interface *);
2836
#define OVSREC_INTERFACE_FOR_EACH(ROW, IDL) \
2837
        for ((ROW) = ovsrec_interface_first(IDL); \
2838
             (ROW); \
2839
             (ROW) = ovsrec_interface_next(ROW))
2840
#define OVSREC_INTERFACE_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
2841
        for ((ROW) = ovsrec_interface_first(IDL); \
2842
             (ROW) ? ((NEXT) = ovsrec_interface_next(ROW), 1) : 0; \
2843
             (ROW) = (NEXT))
2844
#define OVSREC_INTERFACE_FOR_EACH_SAFE_SHORT(ROW, IDL) \
2845
        for (const struct ovsrec_interface * ROW__next = ((ROW) = ovsrec_interface_first(IDL), NULL); \
2846
             (ROW) ? (ROW__next = ovsrec_interface_next(ROW), 1) : (ROW__next = NULL, 0); \
2847
             (ROW) = ROW__next)
2848
#define OVSREC_INTERFACE_FOR_EACH_SAFE(...)                                         \
2849
        OVERLOAD_SAFE_MACRO(OVSREC_INTERFACE_FOR_EACH_SAFE_LONG,                    \
2850
                            OVSREC_INTERFACE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
2851
2852
unsigned int ovsrec_interface_get_seqno(const struct ovsdb_idl *);
2853
unsigned int ovsrec_interface_row_get_seqno(const struct ovsrec_interface *row, enum ovsdb_idl_change change);
2854
const struct ovsrec_interface *ovsrec_interface_track_get_first(const struct ovsdb_idl *);
2855
const struct ovsrec_interface *ovsrec_interface_track_get_next(const struct ovsrec_interface *);
2856
#define OVSREC_INTERFACE_FOR_EACH_TRACKED(ROW, IDL) \
2857
        for ((ROW) = ovsrec_interface_track_get_first(IDL); \
2858
             (ROW); \
2859
             (ROW) = ovsrec_interface_track_get_next(ROW))
2860
2861
const struct ovsrec_interface *ovsrec_interface_table_track_get_first(const struct ovsrec_interface_table *);
2862
#define OVSREC_INTERFACE_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
2863
        for ((ROW) = ovsrec_interface_table_track_get_first(TABLE); \
2864
             (ROW); \
2865
             (ROW) = ovsrec_interface_track_get_next(ROW))
2866
2867
2868
/* Returns true if 'row' was inserted since the last change tracking reset.
2869
 *
2870
 * Note: This can only be used to test rows of tracked changes. This cannot be
2871
 * used to test if an uncommitted row that has been added locally is new or it
2872
 * may given unexpected results. */
2873
static inline bool ovsrec_interface_is_new(const struct ovsrec_interface *row)
2874
0
{
2875
0
    return ovsrec_interface_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
2876
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_interface_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_interface_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_interface_is_new
2877
2878
/* Returns true if 'row' was deleted since the last change tracking reset.
2879
 *
2880
 * Note: This can only be used to test rows of tracked changes. This cannot be
2881
 * used to test if an uncommitted row that has been added locally has been
2882
 * deleted or it may given unexpected results. */
2883
static inline bool ovsrec_interface_is_deleted(const struct ovsrec_interface *row)
2884
0
{
2885
0
    return ovsrec_interface_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
2886
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_interface_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_interface_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_interface_is_deleted
2887
2888
void ovsrec_interface_index_destroy_row(const struct ovsrec_interface *);
2889
2890
struct ovsrec_interface *ovsrec_interface_index_find(struct ovsdb_idl_index *, const struct ovsrec_interface *);
2891
2892
int ovsrec_interface_index_compare(
2893
    struct ovsdb_idl_index *, 
2894
    const struct ovsrec_interface *, 
2895
    const struct ovsrec_interface *);
2896
struct ovsdb_idl_cursor ovsrec_interface_cursor_first(struct ovsdb_idl_index *);
2897
struct ovsdb_idl_cursor ovsrec_interface_cursor_first_eq(
2898
    struct ovsdb_idl_index *, const struct ovsrec_interface *);
2899
struct ovsdb_idl_cursor ovsrec_interface_cursor_first_ge(
2900
    struct ovsdb_idl_index *, const struct ovsrec_interface *);
2901
2902
struct ovsrec_interface *ovsrec_interface_cursor_data(struct ovsdb_idl_cursor *);
2903
2904
#define OVSREC_INTERFACE_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
2905
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_interface_cursor_first_ge(INDEX, FROM); \
2906
             (cursor__.position \
2907
              && ((ROW) = ovsrec_interface_cursor_data(&cursor__), \
2908
                  !(TO) || ovsrec_interface_index_compare(INDEX, ROW, TO) <= 0)); \
2909
             ovsdb_idl_cursor_next(&cursor__))
2910
#define OVSREC_INTERFACE_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
2911
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_interface_cursor_first_eq(INDEX, KEY); \
2912
             (cursor__.position \
2913
              ? ((ROW) = ovsrec_interface_cursor_data(&cursor__), \
2914
                 ovsdb_idl_cursor_next_eq(&cursor__), \
2915
                 true) \
2916
              : false); \
2917
            )
2918
#define OVSREC_INTERFACE_FOR_EACH_BYINDEX(ROW, INDEX) \
2919
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_interface_cursor_first(INDEX); \
2920
             (cursor__.position \
2921
              ? ((ROW) = ovsrec_interface_cursor_data(&cursor__), \
2922
                 ovsdb_idl_cursor_next(&cursor__), \
2923
                 true) \
2924
              : false); \
2925
            )
2926
2927
void ovsrec_interface_init(struct ovsrec_interface *);
2928
void ovsrec_interface_delete(const struct ovsrec_interface *);
2929
struct ovsrec_interface *ovsrec_interface_insert(struct ovsdb_idl_txn *);
2930
struct ovsrec_interface *ovsrec_interface_insert_persist_uuid(
2931
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
2932
2933
/* Returns true if the tracked column referenced by 'enum ovsrec_interface_column_id' of
2934
 * the row referenced by 'struct ovsrec_interface *' was updated since the last change
2935
 * tracking reset.
2936
 *
2937
 * Note: This can only be used to test rows of tracked changes. This cannot be
2938
 * used to test if an uncommitted row that has been added locally has been
2939
 * updated or it may given unexpected results. */
2940
bool ovsrec_interface_is_updated(const struct ovsrec_interface *, enum ovsrec_interface_column_id);
2941
2942
void ovsrec_interface_verify_admin_state(const struct ovsrec_interface *);
2943
void ovsrec_interface_verify_bfd(const struct ovsrec_interface *);
2944
void ovsrec_interface_verify_bfd_status(const struct ovsrec_interface *);
2945
void ovsrec_interface_verify_cfm_fault(const struct ovsrec_interface *);
2946
void ovsrec_interface_verify_cfm_fault_status(const struct ovsrec_interface *);
2947
void ovsrec_interface_verify_cfm_flap_count(const struct ovsrec_interface *);
2948
void ovsrec_interface_verify_cfm_health(const struct ovsrec_interface *);
2949
void ovsrec_interface_verify_cfm_mpid(const struct ovsrec_interface *);
2950
void ovsrec_interface_verify_cfm_remote_mpids(const struct ovsrec_interface *);
2951
void ovsrec_interface_verify_cfm_remote_opstate(const struct ovsrec_interface *);
2952
void ovsrec_interface_verify_duplex(const struct ovsrec_interface *);
2953
void ovsrec_interface_verify_error(const struct ovsrec_interface *);
2954
void ovsrec_interface_verify_external_ids(const struct ovsrec_interface *);
2955
void ovsrec_interface_verify_ifindex(const struct ovsrec_interface *);
2956
void ovsrec_interface_verify_ingress_policing_burst(const struct ovsrec_interface *);
2957
void ovsrec_interface_verify_ingress_policing_kpkts_burst(const struct ovsrec_interface *);
2958
void ovsrec_interface_verify_ingress_policing_kpkts_rate(const struct ovsrec_interface *);
2959
void ovsrec_interface_verify_ingress_policing_rate(const struct ovsrec_interface *);
2960
void ovsrec_interface_verify_lacp_current(const struct ovsrec_interface *);
2961
void ovsrec_interface_verify_link_resets(const struct ovsrec_interface *);
2962
void ovsrec_interface_verify_link_speed(const struct ovsrec_interface *);
2963
void ovsrec_interface_verify_link_state(const struct ovsrec_interface *);
2964
void ovsrec_interface_verify_lldp(const struct ovsrec_interface *);
2965
void ovsrec_interface_verify_mac(const struct ovsrec_interface *);
2966
void ovsrec_interface_verify_mac_in_use(const struct ovsrec_interface *);
2967
void ovsrec_interface_verify_mtu(const struct ovsrec_interface *);
2968
void ovsrec_interface_verify_mtu_request(const struct ovsrec_interface *);
2969
void ovsrec_interface_verify_name(const struct ovsrec_interface *);
2970
void ovsrec_interface_verify_ofport(const struct ovsrec_interface *);
2971
void ovsrec_interface_verify_ofport_request(const struct ovsrec_interface *);
2972
void ovsrec_interface_verify_options(const struct ovsrec_interface *);
2973
void ovsrec_interface_verify_other_config(const struct ovsrec_interface *);
2974
void ovsrec_interface_verify_statistics(const struct ovsrec_interface *);
2975
void ovsrec_interface_verify_status(const struct ovsrec_interface *);
2976
void ovsrec_interface_verify_type(const struct ovsrec_interface *);
2977
2978
const struct ovsdb_datum *ovsrec_interface_get_admin_state(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2979
const struct ovsdb_datum *ovsrec_interface_get_bfd(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
2980
const struct ovsdb_datum *ovsrec_interface_get_bfd_status(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
2981
const struct ovsdb_datum *ovsrec_interface_get_cfm_fault(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2982
const struct ovsdb_datum *ovsrec_interface_get_cfm_fault_status(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2983
const struct ovsdb_datum *ovsrec_interface_get_cfm_flap_count(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2984
const struct ovsdb_datum *ovsrec_interface_get_cfm_health(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2985
const struct ovsdb_datum *ovsrec_interface_get_cfm_mpid(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2986
const struct ovsdb_datum *ovsrec_interface_get_cfm_remote_mpids(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2987
const struct ovsdb_datum *ovsrec_interface_get_cfm_remote_opstate(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2988
const struct ovsdb_datum *ovsrec_interface_get_duplex(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2989
const struct ovsdb_datum *ovsrec_interface_get_error(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2990
const struct ovsdb_datum *ovsrec_interface_get_external_ids(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
2991
const struct ovsdb_datum *ovsrec_interface_get_ifindex(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2992
const struct ovsdb_datum *ovsrec_interface_get_ingress_policing_burst(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2993
const struct ovsdb_datum *ovsrec_interface_get_ingress_policing_kpkts_burst(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2994
const struct ovsdb_datum *ovsrec_interface_get_ingress_policing_kpkts_rate(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2995
const struct ovsdb_datum *ovsrec_interface_get_ingress_policing_rate(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2996
const struct ovsdb_datum *ovsrec_interface_get_lacp_current(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2997
const struct ovsdb_datum *ovsrec_interface_get_link_resets(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2998
const struct ovsdb_datum *ovsrec_interface_get_link_speed(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
2999
const struct ovsdb_datum *ovsrec_interface_get_link_state(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
3000
const struct ovsdb_datum *ovsrec_interface_get_lldp(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
3001
const struct ovsdb_datum *ovsrec_interface_get_mac(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
3002
const struct ovsdb_datum *ovsrec_interface_get_mac_in_use(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
3003
const struct ovsdb_datum *ovsrec_interface_get_mtu(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
3004
const struct ovsdb_datum *ovsrec_interface_get_mtu_request(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
3005
const struct ovsdb_datum *ovsrec_interface_get_name(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
3006
const struct ovsdb_datum *ovsrec_interface_get_ofport(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
3007
const struct ovsdb_datum *ovsrec_interface_get_ofport_request(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
3008
const struct ovsdb_datum *ovsrec_interface_get_options(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
3009
const struct ovsdb_datum *ovsrec_interface_get_other_config(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
3010
const struct ovsdb_datum *ovsrec_interface_get_statistics(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
3011
const struct ovsdb_datum *ovsrec_interface_get_status(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
3012
const struct ovsdb_datum *ovsrec_interface_get_type(const struct ovsrec_interface *, enum ovsdb_atomic_type key_type);
3013
3014
void ovsrec_interface_set_admin_state(const struct ovsrec_interface *, const char *admin_state);
3015
void ovsrec_interface_set_bfd(const struct ovsrec_interface *, const struct smap *);
3016
void ovsrec_interface_set_bfd_status(const struct ovsrec_interface *, const struct smap *);
3017
void ovsrec_interface_set_cfm_fault(const struct ovsrec_interface *, const bool *cfm_fault, size_t n_cfm_fault);
3018
void ovsrec_interface_set_cfm_fault_status(const struct ovsrec_interface *, const char **cfm_fault_status, size_t n_cfm_fault_status);
3019
void ovsrec_interface_set_cfm_flap_count(const struct ovsrec_interface *, const int64_t *cfm_flap_count, size_t n_cfm_flap_count);
3020
void ovsrec_interface_set_cfm_health(const struct ovsrec_interface *, const int64_t *cfm_health, size_t n_cfm_health);
3021
void ovsrec_interface_set_cfm_mpid(const struct ovsrec_interface *, const int64_t *cfm_mpid, size_t n_cfm_mpid);
3022
void ovsrec_interface_set_cfm_remote_mpids(const struct ovsrec_interface *, const int64_t *cfm_remote_mpids, size_t n_cfm_remote_mpids);
3023
void ovsrec_interface_set_cfm_remote_opstate(const struct ovsrec_interface *, const char *cfm_remote_opstate);
3024
void ovsrec_interface_set_duplex(const struct ovsrec_interface *, const char *duplex);
3025
void ovsrec_interface_set_error(const struct ovsrec_interface *, const char *error);
3026
void ovsrec_interface_set_external_ids(const struct ovsrec_interface *, const struct smap *);
3027
void ovsrec_interface_set_ifindex(const struct ovsrec_interface *, const int64_t *ifindex, size_t n_ifindex);
3028
void ovsrec_interface_set_ingress_policing_burst(const struct ovsrec_interface *, int64_t ingress_policing_burst);
3029
void ovsrec_interface_set_ingress_policing_kpkts_burst(const struct ovsrec_interface *, int64_t ingress_policing_kpkts_burst);
3030
void ovsrec_interface_set_ingress_policing_kpkts_rate(const struct ovsrec_interface *, int64_t ingress_policing_kpkts_rate);
3031
void ovsrec_interface_set_ingress_policing_rate(const struct ovsrec_interface *, int64_t ingress_policing_rate);
3032
void ovsrec_interface_set_lacp_current(const struct ovsrec_interface *, const bool *lacp_current, size_t n_lacp_current);
3033
void ovsrec_interface_set_link_resets(const struct ovsrec_interface *, const int64_t *link_resets, size_t n_link_resets);
3034
void ovsrec_interface_set_link_speed(const struct ovsrec_interface *, const int64_t *link_speed, size_t n_link_speed);
3035
void ovsrec_interface_set_link_state(const struct ovsrec_interface *, const char *link_state);
3036
void ovsrec_interface_set_lldp(const struct ovsrec_interface *, const struct smap *);
3037
void ovsrec_interface_set_mac(const struct ovsrec_interface *, const char *mac);
3038
void ovsrec_interface_set_mac_in_use(const struct ovsrec_interface *, const char *mac_in_use);
3039
void ovsrec_interface_set_mtu(const struct ovsrec_interface *, const int64_t *mtu, size_t n_mtu);
3040
void ovsrec_interface_set_mtu_request(const struct ovsrec_interface *, const int64_t *mtu_request, size_t n_mtu_request);
3041
void ovsrec_interface_set_name(const struct ovsrec_interface *, const char *name);
3042
void ovsrec_interface_set_ofport(const struct ovsrec_interface *, const int64_t *ofport, size_t n_ofport);
3043
void ovsrec_interface_set_ofport_request(const struct ovsrec_interface *, const int64_t *ofport_request, size_t n_ofport_request);
3044
void ovsrec_interface_set_options(const struct ovsrec_interface *, const struct smap *);
3045
void ovsrec_interface_set_other_config(const struct ovsrec_interface *, const struct smap *);
3046
void ovsrec_interface_set_statistics(const struct ovsrec_interface *, const char **key_statistics, const int64_t *value_statistics, size_t n_statistics);
3047
void ovsrec_interface_set_status(const struct ovsrec_interface *, const struct smap *);
3048
void ovsrec_interface_set_type(const struct ovsrec_interface *, const char *type);
3049
3050
void ovsrec_interface_update_admin_state_addvalue(const struct ovsrec_interface *,  const char *);
3051
void ovsrec_interface_update_admin_state_delvalue(const struct ovsrec_interface *,  const char *);
3052
void ovsrec_interface_add_clause_admin_state(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *admin_state);
3053
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3054
void ovsrec_interface_update_bfd_setkey(const struct ovsrec_interface *,  const char *, const char *);
3055
void ovsrec_interface_update_bfd_delkey(const struct ovsrec_interface *,  const char *);
3056
void ovsrec_interface_add_clause_bfd(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3057
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3058
void ovsrec_interface_update_bfd_status_setkey(const struct ovsrec_interface *,  const char *, const char *);
3059
void ovsrec_interface_update_bfd_status_delkey(const struct ovsrec_interface *,  const char *);
3060
void ovsrec_interface_add_clause_bfd_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3061
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3062
void ovsrec_interface_update_cfm_fault_addvalue(const struct ovsrec_interface *,  bool );
3063
void ovsrec_interface_update_cfm_fault_delvalue(const struct ovsrec_interface *,  bool );
3064
void ovsrec_interface_add_clause_cfm_fault(struct ovsdb_idl_condition *, enum ovsdb_function function, const bool *cfm_fault, size_t n_cfm_fault);
3065
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3066
void ovsrec_interface_update_cfm_fault_status_addvalue(const struct ovsrec_interface *,  const char *);
3067
void ovsrec_interface_update_cfm_fault_status_delvalue(const struct ovsrec_interface *,  const char *);
3068
void ovsrec_interface_add_clause_cfm_fault_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **cfm_fault_status, size_t n_cfm_fault_status);
3069
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3070
void ovsrec_interface_update_cfm_flap_count_addvalue(const struct ovsrec_interface *,  int64_t );
3071
void ovsrec_interface_update_cfm_flap_count_delvalue(const struct ovsrec_interface *,  int64_t );
3072
void ovsrec_interface_add_clause_cfm_flap_count(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *cfm_flap_count, size_t n_cfm_flap_count);
3073
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3074
void ovsrec_interface_update_cfm_health_addvalue(const struct ovsrec_interface *,  int64_t );
3075
void ovsrec_interface_update_cfm_health_delvalue(const struct ovsrec_interface *,  int64_t );
3076
void ovsrec_interface_add_clause_cfm_health(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *cfm_health, size_t n_cfm_health);
3077
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3078
void ovsrec_interface_update_cfm_mpid_addvalue(const struct ovsrec_interface *,  int64_t );
3079
void ovsrec_interface_update_cfm_mpid_delvalue(const struct ovsrec_interface *,  int64_t );
3080
void ovsrec_interface_add_clause_cfm_mpid(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *cfm_mpid, size_t n_cfm_mpid);
3081
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3082
void ovsrec_interface_update_cfm_remote_mpids_addvalue(const struct ovsrec_interface *,  int64_t );
3083
void ovsrec_interface_update_cfm_remote_mpids_delvalue(const struct ovsrec_interface *,  int64_t );
3084
void ovsrec_interface_add_clause_cfm_remote_mpids(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *cfm_remote_mpids, size_t n_cfm_remote_mpids);
3085
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3086
void ovsrec_interface_update_cfm_remote_opstate_addvalue(const struct ovsrec_interface *,  const char *);
3087
void ovsrec_interface_update_cfm_remote_opstate_delvalue(const struct ovsrec_interface *,  const char *);
3088
void ovsrec_interface_add_clause_cfm_remote_opstate(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *cfm_remote_opstate);
3089
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3090
void ovsrec_interface_update_duplex_addvalue(const struct ovsrec_interface *,  const char *);
3091
void ovsrec_interface_update_duplex_delvalue(const struct ovsrec_interface *,  const char *);
3092
void ovsrec_interface_add_clause_duplex(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *duplex);
3093
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3094
void ovsrec_interface_update_error_addvalue(const struct ovsrec_interface *,  const char *);
3095
void ovsrec_interface_update_error_delvalue(const struct ovsrec_interface *,  const char *);
3096
void ovsrec_interface_add_clause_error(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *error);
3097
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3098
void ovsrec_interface_update_external_ids_setkey(const struct ovsrec_interface *,  const char *, const char *);
3099
void ovsrec_interface_update_external_ids_delkey(const struct ovsrec_interface *,  const char *);
3100
void ovsrec_interface_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3101
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3102
void ovsrec_interface_update_ifindex_addvalue(const struct ovsrec_interface *,  int64_t );
3103
void ovsrec_interface_update_ifindex_delvalue(const struct ovsrec_interface *,  int64_t );
3104
void ovsrec_interface_add_clause_ifindex(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *ifindex, size_t n_ifindex);
3105
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3106
void ovsrec_interface_add_clause_ingress_policing_burst(struct ovsdb_idl_condition *, enum ovsdb_function function, int64_t ingress_policing_burst);
3107
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3108
void ovsrec_interface_add_clause_ingress_policing_kpkts_burst(struct ovsdb_idl_condition *, enum ovsdb_function function, int64_t ingress_policing_kpkts_burst);
3109
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3110
void ovsrec_interface_add_clause_ingress_policing_kpkts_rate(struct ovsdb_idl_condition *, enum ovsdb_function function, int64_t ingress_policing_kpkts_rate);
3111
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3112
void ovsrec_interface_add_clause_ingress_policing_rate(struct ovsdb_idl_condition *, enum ovsdb_function function, int64_t ingress_policing_rate);
3113
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3114
void ovsrec_interface_update_lacp_current_addvalue(const struct ovsrec_interface *,  bool );
3115
void ovsrec_interface_update_lacp_current_delvalue(const struct ovsrec_interface *,  bool );
3116
void ovsrec_interface_add_clause_lacp_current(struct ovsdb_idl_condition *, enum ovsdb_function function, const bool *lacp_current, size_t n_lacp_current);
3117
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3118
void ovsrec_interface_update_link_resets_addvalue(const struct ovsrec_interface *,  int64_t );
3119
void ovsrec_interface_update_link_resets_delvalue(const struct ovsrec_interface *,  int64_t );
3120
void ovsrec_interface_add_clause_link_resets(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *link_resets, size_t n_link_resets);
3121
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3122
void ovsrec_interface_update_link_speed_addvalue(const struct ovsrec_interface *,  int64_t );
3123
void ovsrec_interface_update_link_speed_delvalue(const struct ovsrec_interface *,  int64_t );
3124
void ovsrec_interface_add_clause_link_speed(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *link_speed, size_t n_link_speed);
3125
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3126
void ovsrec_interface_update_link_state_addvalue(const struct ovsrec_interface *,  const char *);
3127
void ovsrec_interface_update_link_state_delvalue(const struct ovsrec_interface *,  const char *);
3128
void ovsrec_interface_add_clause_link_state(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *link_state);
3129
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3130
void ovsrec_interface_update_lldp_setkey(const struct ovsrec_interface *,  const char *, const char *);
3131
void ovsrec_interface_update_lldp_delkey(const struct ovsrec_interface *,  const char *);
3132
void ovsrec_interface_add_clause_lldp(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3133
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3134
void ovsrec_interface_update_mac_addvalue(const struct ovsrec_interface *,  const char *);
3135
void ovsrec_interface_update_mac_delvalue(const struct ovsrec_interface *,  const char *);
3136
void ovsrec_interface_add_clause_mac(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *mac);
3137
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3138
void ovsrec_interface_update_mac_in_use_addvalue(const struct ovsrec_interface *,  const char *);
3139
void ovsrec_interface_update_mac_in_use_delvalue(const struct ovsrec_interface *,  const char *);
3140
void ovsrec_interface_add_clause_mac_in_use(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *mac_in_use);
3141
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3142
void ovsrec_interface_update_mtu_addvalue(const struct ovsrec_interface *,  int64_t );
3143
void ovsrec_interface_update_mtu_delvalue(const struct ovsrec_interface *,  int64_t );
3144
void ovsrec_interface_add_clause_mtu(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *mtu, size_t n_mtu);
3145
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3146
void ovsrec_interface_update_mtu_request_addvalue(const struct ovsrec_interface *,  int64_t );
3147
void ovsrec_interface_update_mtu_request_delvalue(const struct ovsrec_interface *,  int64_t );
3148
void ovsrec_interface_add_clause_mtu_request(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *mtu_request, size_t n_mtu_request);
3149
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3150
void ovsrec_interface_add_clause_name(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *name);
3151
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3152
void ovsrec_interface_update_ofport_addvalue(const struct ovsrec_interface *,  int64_t );
3153
void ovsrec_interface_update_ofport_delvalue(const struct ovsrec_interface *,  int64_t );
3154
void ovsrec_interface_add_clause_ofport(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *ofport, size_t n_ofport);
3155
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3156
void ovsrec_interface_update_ofport_request_addvalue(const struct ovsrec_interface *,  int64_t );
3157
void ovsrec_interface_update_ofport_request_delvalue(const struct ovsrec_interface *,  int64_t );
3158
void ovsrec_interface_add_clause_ofport_request(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *ofport_request, size_t n_ofport_request);
3159
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3160
void ovsrec_interface_update_options_setkey(const struct ovsrec_interface *,  const char *, const char *);
3161
void ovsrec_interface_update_options_delkey(const struct ovsrec_interface *,  const char *);
3162
void ovsrec_interface_add_clause_options(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3163
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3164
void ovsrec_interface_update_other_config_setkey(const struct ovsrec_interface *,  const char *, const char *);
3165
void ovsrec_interface_update_other_config_delkey(const struct ovsrec_interface *,  const char *);
3166
void ovsrec_interface_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3167
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3168
void ovsrec_interface_update_statistics_setkey(const struct ovsrec_interface *,  const char *, int64_t );
3169
void ovsrec_interface_update_statistics_delkey(const struct ovsrec_interface *,  const char *);
3170
void ovsrec_interface_add_clause_statistics(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **key_statistics, const int64_t *value_statistics, size_t n_statistics);
3171
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3172
void ovsrec_interface_update_status_setkey(const struct ovsrec_interface *,  const char *, const char *);
3173
void ovsrec_interface_update_status_delkey(const struct ovsrec_interface *,  const char *);
3174
void ovsrec_interface_add_clause_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3175
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3176
void ovsrec_interface_add_clause_type(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *type);
3177
unsigned int ovsrec_interface_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3178
3179
struct ovsrec_interface *ovsrec_interface_index_init_row(struct ovsdb_idl_index *);
3180
void ovsrec_interface_index_set_admin_state(const struct ovsrec_interface *,
3181
const char *admin_state);
3182
void ovsrec_interface_index_set_bfd(const struct ovsrec_interface *,
3183
const struct smap *);
3184
void ovsrec_interface_index_set_bfd_status(const struct ovsrec_interface *,
3185
const struct smap *);
3186
void ovsrec_interface_index_set_cfm_fault(const struct ovsrec_interface *,
3187
const bool *cfm_fault, size_t n_cfm_fault);
3188
void ovsrec_interface_index_set_cfm_fault_status(const struct ovsrec_interface *,
3189
const char **cfm_fault_status, size_t n_cfm_fault_status);
3190
void ovsrec_interface_index_set_cfm_flap_count(const struct ovsrec_interface *,
3191
const int64_t *cfm_flap_count, size_t n_cfm_flap_count);
3192
void ovsrec_interface_index_set_cfm_health(const struct ovsrec_interface *,
3193
const int64_t *cfm_health, size_t n_cfm_health);
3194
void ovsrec_interface_index_set_cfm_mpid(const struct ovsrec_interface *,
3195
const int64_t *cfm_mpid, size_t n_cfm_mpid);
3196
void ovsrec_interface_index_set_cfm_remote_mpids(const struct ovsrec_interface *,
3197
const int64_t *cfm_remote_mpids, size_t n_cfm_remote_mpids);
3198
void ovsrec_interface_index_set_cfm_remote_opstate(const struct ovsrec_interface *,
3199
const char *cfm_remote_opstate);
3200
void ovsrec_interface_index_set_duplex(const struct ovsrec_interface *,
3201
const char *duplex);
3202
void ovsrec_interface_index_set_error(const struct ovsrec_interface *,
3203
const char *error);
3204
void ovsrec_interface_index_set_external_ids(const struct ovsrec_interface *,
3205
const struct smap *);
3206
void ovsrec_interface_index_set_ifindex(const struct ovsrec_interface *,
3207
const int64_t *ifindex, size_t n_ifindex);
3208
void ovsrec_interface_index_set_ingress_policing_burst(const struct ovsrec_interface *,
3209
int64_t ingress_policing_burst);
3210
void ovsrec_interface_index_set_ingress_policing_kpkts_burst(const struct ovsrec_interface *,
3211
int64_t ingress_policing_kpkts_burst);
3212
void ovsrec_interface_index_set_ingress_policing_kpkts_rate(const struct ovsrec_interface *,
3213
int64_t ingress_policing_kpkts_rate);
3214
void ovsrec_interface_index_set_ingress_policing_rate(const struct ovsrec_interface *,
3215
int64_t ingress_policing_rate);
3216
void ovsrec_interface_index_set_lacp_current(const struct ovsrec_interface *,
3217
const bool *lacp_current, size_t n_lacp_current);
3218
void ovsrec_interface_index_set_link_resets(const struct ovsrec_interface *,
3219
const int64_t *link_resets, size_t n_link_resets);
3220
void ovsrec_interface_index_set_link_speed(const struct ovsrec_interface *,
3221
const int64_t *link_speed, size_t n_link_speed);
3222
void ovsrec_interface_index_set_link_state(const struct ovsrec_interface *,
3223
const char *link_state);
3224
void ovsrec_interface_index_set_lldp(const struct ovsrec_interface *,
3225
const struct smap *);
3226
void ovsrec_interface_index_set_mac(const struct ovsrec_interface *,
3227
const char *mac);
3228
void ovsrec_interface_index_set_mac_in_use(const struct ovsrec_interface *,
3229
const char *mac_in_use);
3230
void ovsrec_interface_index_set_mtu(const struct ovsrec_interface *,
3231
const int64_t *mtu, size_t n_mtu);
3232
void ovsrec_interface_index_set_mtu_request(const struct ovsrec_interface *,
3233
const int64_t *mtu_request, size_t n_mtu_request);
3234
void ovsrec_interface_index_set_name(const struct ovsrec_interface *,
3235
const char *name);
3236
void ovsrec_interface_index_set_ofport(const struct ovsrec_interface *,
3237
const int64_t *ofport, size_t n_ofport);
3238
void ovsrec_interface_index_set_ofport_request(const struct ovsrec_interface *,
3239
const int64_t *ofport_request, size_t n_ofport_request);
3240
void ovsrec_interface_index_set_options(const struct ovsrec_interface *,
3241
const struct smap *);
3242
void ovsrec_interface_index_set_other_config(const struct ovsrec_interface *,
3243
const struct smap *);
3244
void ovsrec_interface_index_set_statistics(const struct ovsrec_interface *,
3245
const char **key_statistics, const int64_t *value_statistics, size_t n_statistics);
3246
void ovsrec_interface_index_set_status(const struct ovsrec_interface *,
3247
const struct smap *);
3248
void ovsrec_interface_index_set_type(const struct ovsrec_interface *,
3249
const char *type);
3250

3251
/* Manager table. */
3252
struct ovsrec_manager {
3253
  struct ovsdb_idl_row header_;
3254
3255
  /* connection_mode column. */
3256
  char *connection_mode;
3257
3258
  /* external_ids column. */
3259
  struct smap external_ids;
3260
3261
  /* inactivity_probe column. */
3262
  int64_t *inactivity_probe;
3263
  size_t n_inactivity_probe;
3264
3265
  /* is_connected column. */
3266
  bool is_connected;
3267
3268
  /* max_backoff column. */
3269
  int64_t *max_backoff;
3270
  size_t n_max_backoff;
3271
3272
  /* other_config column. */
3273
  struct smap other_config;
3274
3275
  /* status column. */
3276
  struct smap status;
3277
3278
  /* target column. */
3279
  char *target; /* Always nonnull. */
3280
};
3281
3282
enum ovsrec_manager_column_id {
3283
    OVSREC_MANAGER_COL_CONNECTION_MODE,
3284
    OVSREC_MANAGER_COL_EXTERNAL_IDS,
3285
    OVSREC_MANAGER_COL_INACTIVITY_PROBE,
3286
    OVSREC_MANAGER_COL_IS_CONNECTED,
3287
    OVSREC_MANAGER_COL_MAX_BACKOFF,
3288
    OVSREC_MANAGER_COL_OTHER_CONFIG,
3289
    OVSREC_MANAGER_COL_STATUS,
3290
    OVSREC_MANAGER_COL_TARGET,
3291
    OVSREC_MANAGER_N_COLUMNS
3292
};
3293
3294
0
#define ovsrec_manager_col_connection_mode (ovsrec_manager_columns[OVSREC_MANAGER_COL_CONNECTION_MODE])
3295
0
#define ovsrec_manager_col_external_ids (ovsrec_manager_columns[OVSREC_MANAGER_COL_EXTERNAL_IDS])
3296
0
#define ovsrec_manager_col_inactivity_probe (ovsrec_manager_columns[OVSREC_MANAGER_COL_INACTIVITY_PROBE])
3297
0
#define ovsrec_manager_col_is_connected (ovsrec_manager_columns[OVSREC_MANAGER_COL_IS_CONNECTED])
3298
0
#define ovsrec_manager_col_max_backoff (ovsrec_manager_columns[OVSREC_MANAGER_COL_MAX_BACKOFF])
3299
0
#define ovsrec_manager_col_other_config (ovsrec_manager_columns[OVSREC_MANAGER_COL_OTHER_CONFIG])
3300
0
#define ovsrec_manager_col_status (ovsrec_manager_columns[OVSREC_MANAGER_COL_STATUS])
3301
0
#define ovsrec_manager_col_target (ovsrec_manager_columns[OVSREC_MANAGER_COL_TARGET])
3302
3303
extern struct ovsdb_idl_column ovsrec_manager_columns[OVSREC_MANAGER_N_COLUMNS];
3304
bool ovsrec_server_has_manager_table_col_connection_mode(const struct ovsdb_idl *); 
3305
const struct ovsdb_type *ovsrec_manager_connection_mode_server_type(const struct ovsdb_idl *); 
3306
bool ovsrec_server_has_manager_table_col_external_ids(const struct ovsdb_idl *); 
3307
const struct ovsdb_type *ovsrec_manager_external_ids_server_type(const struct ovsdb_idl *); 
3308
bool ovsrec_server_has_manager_table_col_inactivity_probe(const struct ovsdb_idl *); 
3309
const struct ovsdb_type *ovsrec_manager_inactivity_probe_server_type(const struct ovsdb_idl *); 
3310
bool ovsrec_server_has_manager_table_col_is_connected(const struct ovsdb_idl *); 
3311
const struct ovsdb_type *ovsrec_manager_is_connected_server_type(const struct ovsdb_idl *); 
3312
bool ovsrec_server_has_manager_table_col_max_backoff(const struct ovsdb_idl *); 
3313
const struct ovsdb_type *ovsrec_manager_max_backoff_server_type(const struct ovsdb_idl *); 
3314
bool ovsrec_server_has_manager_table_col_other_config(const struct ovsdb_idl *); 
3315
const struct ovsdb_type *ovsrec_manager_other_config_server_type(const struct ovsdb_idl *); 
3316
bool ovsrec_server_has_manager_table_col_status(const struct ovsdb_idl *); 
3317
const struct ovsdb_type *ovsrec_manager_status_server_type(const struct ovsdb_idl *); 
3318
bool ovsrec_server_has_manager_table_col_target(const struct ovsdb_idl *); 
3319
const struct ovsdb_type *ovsrec_manager_target_server_type(const struct ovsdb_idl *); 
3320
3321
bool ovsrec_server_has_manager_table(const struct ovsdb_idl *);
3322
const struct ovsrec_manager_table *ovsrec_manager_table_get(const struct ovsdb_idl *);
3323
const struct ovsrec_manager *ovsrec_manager_table_first(const struct ovsrec_manager_table *);
3324
3325
#define OVSREC_MANAGER_TABLE_FOR_EACH(ROW, TABLE) \
3326
        for ((ROW) = ovsrec_manager_table_first(TABLE); \
3327
             (ROW); \
3328
             (ROW) = ovsrec_manager_next(ROW))
3329
#define OVSREC_MANAGER_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
3330
        for ((ROW) = ovsrec_manager_table_first(TABLE); \
3331
             (ROW) ? ((NEXT) = ovsrec_manager_next(ROW), 1) : 0; \
3332
             (ROW) = (NEXT))
3333
#define OVSREC_MANAGER_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
3334
        for (const struct ovsrec_manager * ROW__next = ((ROW) = ovsrec_manager_table_first(TABLE), NULL); \
3335
             (ROW) ? (ROW__next = ovsrec_manager_next(ROW), 1) : (ROW__next = NULL, 0); \
3336
             (ROW) = ROW__next)
3337
#define OVSREC_MANAGER_TABLE_FOR_EACH_SAFE(...)                                        \
3338
        OVERLOAD_SAFE_MACRO(OVSREC_MANAGER_TABLE_FOR_EACH_SAFE_LONG,                   \
3339
                            OVSREC_MANAGER_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
3340
3341
3342
const struct ovsrec_manager *ovsrec_manager_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
3343
const struct ovsrec_manager *ovsrec_manager_table_get_for_uuid(const struct ovsrec_manager_table *, const struct uuid *);
3344
const struct ovsrec_manager *ovsrec_manager_first(const struct ovsdb_idl *);
3345
const struct ovsrec_manager *ovsrec_manager_next(const struct ovsrec_manager *);
3346
#define OVSREC_MANAGER_FOR_EACH(ROW, IDL) \
3347
        for ((ROW) = ovsrec_manager_first(IDL); \
3348
             (ROW); \
3349
             (ROW) = ovsrec_manager_next(ROW))
3350
#define OVSREC_MANAGER_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
3351
        for ((ROW) = ovsrec_manager_first(IDL); \
3352
             (ROW) ? ((NEXT) = ovsrec_manager_next(ROW), 1) : 0; \
3353
             (ROW) = (NEXT))
3354
#define OVSREC_MANAGER_FOR_EACH_SAFE_SHORT(ROW, IDL) \
3355
        for (const struct ovsrec_manager * ROW__next = ((ROW) = ovsrec_manager_first(IDL), NULL); \
3356
             (ROW) ? (ROW__next = ovsrec_manager_next(ROW), 1) : (ROW__next = NULL, 0); \
3357
             (ROW) = ROW__next)
3358
#define OVSREC_MANAGER_FOR_EACH_SAFE(...)                                         \
3359
        OVERLOAD_SAFE_MACRO(OVSREC_MANAGER_FOR_EACH_SAFE_LONG,                    \
3360
                            OVSREC_MANAGER_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
3361
3362
unsigned int ovsrec_manager_get_seqno(const struct ovsdb_idl *);
3363
unsigned int ovsrec_manager_row_get_seqno(const struct ovsrec_manager *row, enum ovsdb_idl_change change);
3364
const struct ovsrec_manager *ovsrec_manager_track_get_first(const struct ovsdb_idl *);
3365
const struct ovsrec_manager *ovsrec_manager_track_get_next(const struct ovsrec_manager *);
3366
#define OVSREC_MANAGER_FOR_EACH_TRACKED(ROW, IDL) \
3367
        for ((ROW) = ovsrec_manager_track_get_first(IDL); \
3368
             (ROW); \
3369
             (ROW) = ovsrec_manager_track_get_next(ROW))
3370
3371
const struct ovsrec_manager *ovsrec_manager_table_track_get_first(const struct ovsrec_manager_table *);
3372
#define OVSREC_MANAGER_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
3373
        for ((ROW) = ovsrec_manager_table_track_get_first(TABLE); \
3374
             (ROW); \
3375
             (ROW) = ovsrec_manager_track_get_next(ROW))
3376
3377
3378
/* Returns true if 'row' was inserted since the last change tracking reset.
3379
 *
3380
 * Note: This can only be used to test rows of tracked changes. This cannot be
3381
 * used to test if an uncommitted row that has been added locally is new or it
3382
 * may given unexpected results. */
3383
static inline bool ovsrec_manager_is_new(const struct ovsrec_manager *row)
3384
0
{
3385
0
    return ovsrec_manager_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
3386
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_manager_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_manager_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_manager_is_new
3387
3388
/* Returns true if 'row' was deleted since the last change tracking reset.
3389
 *
3390
 * Note: This can only be used to test rows of tracked changes. This cannot be
3391
 * used to test if an uncommitted row that has been added locally has been
3392
 * deleted or it may given unexpected results. */
3393
static inline bool ovsrec_manager_is_deleted(const struct ovsrec_manager *row)
3394
0
{
3395
0
    return ovsrec_manager_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
3396
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_manager_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_manager_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_manager_is_deleted
3397
3398
void ovsrec_manager_index_destroy_row(const struct ovsrec_manager *);
3399
3400
struct ovsrec_manager *ovsrec_manager_index_find(struct ovsdb_idl_index *, const struct ovsrec_manager *);
3401
3402
int ovsrec_manager_index_compare(
3403
    struct ovsdb_idl_index *, 
3404
    const struct ovsrec_manager *, 
3405
    const struct ovsrec_manager *);
3406
struct ovsdb_idl_cursor ovsrec_manager_cursor_first(struct ovsdb_idl_index *);
3407
struct ovsdb_idl_cursor ovsrec_manager_cursor_first_eq(
3408
    struct ovsdb_idl_index *, const struct ovsrec_manager *);
3409
struct ovsdb_idl_cursor ovsrec_manager_cursor_first_ge(
3410
    struct ovsdb_idl_index *, const struct ovsrec_manager *);
3411
3412
struct ovsrec_manager *ovsrec_manager_cursor_data(struct ovsdb_idl_cursor *);
3413
3414
#define OVSREC_MANAGER_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
3415
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_manager_cursor_first_ge(INDEX, FROM); \
3416
             (cursor__.position \
3417
              && ((ROW) = ovsrec_manager_cursor_data(&cursor__), \
3418
                  !(TO) || ovsrec_manager_index_compare(INDEX, ROW, TO) <= 0)); \
3419
             ovsdb_idl_cursor_next(&cursor__))
3420
#define OVSREC_MANAGER_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
3421
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_manager_cursor_first_eq(INDEX, KEY); \
3422
             (cursor__.position \
3423
              ? ((ROW) = ovsrec_manager_cursor_data(&cursor__), \
3424
                 ovsdb_idl_cursor_next_eq(&cursor__), \
3425
                 true) \
3426
              : false); \
3427
            )
3428
#define OVSREC_MANAGER_FOR_EACH_BYINDEX(ROW, INDEX) \
3429
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_manager_cursor_first(INDEX); \
3430
             (cursor__.position \
3431
              ? ((ROW) = ovsrec_manager_cursor_data(&cursor__), \
3432
                 ovsdb_idl_cursor_next(&cursor__), \
3433
                 true) \
3434
              : false); \
3435
            )
3436
3437
void ovsrec_manager_init(struct ovsrec_manager *);
3438
void ovsrec_manager_delete(const struct ovsrec_manager *);
3439
struct ovsrec_manager *ovsrec_manager_insert(struct ovsdb_idl_txn *);
3440
struct ovsrec_manager *ovsrec_manager_insert_persist_uuid(
3441
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
3442
3443
/* Returns true if the tracked column referenced by 'enum ovsrec_manager_column_id' of
3444
 * the row referenced by 'struct ovsrec_manager *' was updated since the last change
3445
 * tracking reset.
3446
 *
3447
 * Note: This can only be used to test rows of tracked changes. This cannot be
3448
 * used to test if an uncommitted row that has been added locally has been
3449
 * updated or it may given unexpected results. */
3450
bool ovsrec_manager_is_updated(const struct ovsrec_manager *, enum ovsrec_manager_column_id);
3451
3452
void ovsrec_manager_verify_connection_mode(const struct ovsrec_manager *);
3453
void ovsrec_manager_verify_external_ids(const struct ovsrec_manager *);
3454
void ovsrec_manager_verify_inactivity_probe(const struct ovsrec_manager *);
3455
void ovsrec_manager_verify_is_connected(const struct ovsrec_manager *);
3456
void ovsrec_manager_verify_max_backoff(const struct ovsrec_manager *);
3457
void ovsrec_manager_verify_other_config(const struct ovsrec_manager *);
3458
void ovsrec_manager_verify_status(const struct ovsrec_manager *);
3459
void ovsrec_manager_verify_target(const struct ovsrec_manager *);
3460
3461
const struct ovsdb_datum *ovsrec_manager_get_connection_mode(const struct ovsrec_manager *, enum ovsdb_atomic_type key_type);
3462
const struct ovsdb_datum *ovsrec_manager_get_external_ids(const struct ovsrec_manager *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
3463
const struct ovsdb_datum *ovsrec_manager_get_inactivity_probe(const struct ovsrec_manager *, enum ovsdb_atomic_type key_type);
3464
const struct ovsdb_datum *ovsrec_manager_get_is_connected(const struct ovsrec_manager *, enum ovsdb_atomic_type key_type);
3465
const struct ovsdb_datum *ovsrec_manager_get_max_backoff(const struct ovsrec_manager *, enum ovsdb_atomic_type key_type);
3466
const struct ovsdb_datum *ovsrec_manager_get_other_config(const struct ovsrec_manager *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
3467
const struct ovsdb_datum *ovsrec_manager_get_status(const struct ovsrec_manager *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
3468
const struct ovsdb_datum *ovsrec_manager_get_target(const struct ovsrec_manager *, enum ovsdb_atomic_type key_type);
3469
3470
void ovsrec_manager_set_connection_mode(const struct ovsrec_manager *, const char *connection_mode);
3471
void ovsrec_manager_set_external_ids(const struct ovsrec_manager *, const struct smap *);
3472
void ovsrec_manager_set_inactivity_probe(const struct ovsrec_manager *, const int64_t *inactivity_probe, size_t n_inactivity_probe);
3473
void ovsrec_manager_set_is_connected(const struct ovsrec_manager *, bool is_connected);
3474
void ovsrec_manager_set_max_backoff(const struct ovsrec_manager *, const int64_t *max_backoff, size_t n_max_backoff);
3475
void ovsrec_manager_set_other_config(const struct ovsrec_manager *, const struct smap *);
3476
void ovsrec_manager_set_status(const struct ovsrec_manager *, const struct smap *);
3477
void ovsrec_manager_set_target(const struct ovsrec_manager *, const char *target);
3478
3479
void ovsrec_manager_update_connection_mode_addvalue(const struct ovsrec_manager *,  const char *);
3480
void ovsrec_manager_update_connection_mode_delvalue(const struct ovsrec_manager *,  const char *);
3481
void ovsrec_manager_add_clause_connection_mode(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *connection_mode);
3482
unsigned int ovsrec_manager_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3483
void ovsrec_manager_update_external_ids_setkey(const struct ovsrec_manager *,  const char *, const char *);
3484
void ovsrec_manager_update_external_ids_delkey(const struct ovsrec_manager *,  const char *);
3485
void ovsrec_manager_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3486
unsigned int ovsrec_manager_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3487
void ovsrec_manager_update_inactivity_probe_addvalue(const struct ovsrec_manager *,  int64_t );
3488
void ovsrec_manager_update_inactivity_probe_delvalue(const struct ovsrec_manager *,  int64_t );
3489
void ovsrec_manager_add_clause_inactivity_probe(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *inactivity_probe, size_t n_inactivity_probe);
3490
unsigned int ovsrec_manager_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3491
void ovsrec_manager_add_clause_is_connected(struct ovsdb_idl_condition *, enum ovsdb_function function, bool is_connected);
3492
unsigned int ovsrec_manager_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3493
void ovsrec_manager_update_max_backoff_addvalue(const struct ovsrec_manager *,  int64_t );
3494
void ovsrec_manager_update_max_backoff_delvalue(const struct ovsrec_manager *,  int64_t );
3495
void ovsrec_manager_add_clause_max_backoff(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *max_backoff, size_t n_max_backoff);
3496
unsigned int ovsrec_manager_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3497
void ovsrec_manager_update_other_config_setkey(const struct ovsrec_manager *,  const char *, const char *);
3498
void ovsrec_manager_update_other_config_delkey(const struct ovsrec_manager *,  const char *);
3499
void ovsrec_manager_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3500
unsigned int ovsrec_manager_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3501
void ovsrec_manager_update_status_setkey(const struct ovsrec_manager *,  const char *, const char *);
3502
void ovsrec_manager_update_status_delkey(const struct ovsrec_manager *,  const char *);
3503
void ovsrec_manager_add_clause_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3504
unsigned int ovsrec_manager_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3505
void ovsrec_manager_add_clause_target(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *target);
3506
unsigned int ovsrec_manager_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3507
3508
struct ovsrec_manager *ovsrec_manager_index_init_row(struct ovsdb_idl_index *);
3509
void ovsrec_manager_index_set_connection_mode(const struct ovsrec_manager *,
3510
const char *connection_mode);
3511
void ovsrec_manager_index_set_external_ids(const struct ovsrec_manager *,
3512
const struct smap *);
3513
void ovsrec_manager_index_set_inactivity_probe(const struct ovsrec_manager *,
3514
const int64_t *inactivity_probe, size_t n_inactivity_probe);
3515
void ovsrec_manager_index_set_is_connected(const struct ovsrec_manager *,
3516
bool is_connected);
3517
void ovsrec_manager_index_set_max_backoff(const struct ovsrec_manager *,
3518
const int64_t *max_backoff, size_t n_max_backoff);
3519
void ovsrec_manager_index_set_other_config(const struct ovsrec_manager *,
3520
const struct smap *);
3521
void ovsrec_manager_index_set_status(const struct ovsrec_manager *,
3522
const struct smap *);
3523
void ovsrec_manager_index_set_target(const struct ovsrec_manager *,
3524
const char *target);
3525

3526
/* Mirror table. */
3527
struct ovsrec_mirror {
3528
  struct ovsdb_idl_row header_;
3529
3530
  /* external_ids column. */
3531
  struct smap external_ids;
3532
3533
  /* filter column. */
3534
  char *filter;
3535
3536
  /* name column. */
3537
  char *name; /* Always nonnull. */
3538
3539
  /* output_port column. */
3540
  struct ovsrec_port *output_port;
3541
3542
  /* output_vlan column. */
3543
  int64_t *output_vlan;
3544
  size_t n_output_vlan;
3545
3546
  /* select_all column. */
3547
  bool select_all;
3548
3549
  /* select_dst_port column. */
3550
  struct ovsrec_port **select_dst_port;
3551
  size_t n_select_dst_port;
3552
3553
  /* select_src_port column. */
3554
  struct ovsrec_port **select_src_port;
3555
  size_t n_select_src_port;
3556
3557
  /* select_vlan column. */
3558
  int64_t *select_vlan;
3559
  size_t n_select_vlan;
3560
3561
  /* snaplen column. */
3562
  int64_t *snaplen;
3563
  size_t n_snaplen;
3564
3565
  /* statistics column. */
3566
  char **key_statistics;
3567
  int64_t *value_statistics;
3568
  size_t n_statistics;
3569
};
3570
3571
enum ovsrec_mirror_column_id {
3572
    OVSREC_MIRROR_COL_EXTERNAL_IDS,
3573
    OVSREC_MIRROR_COL_FILTER,
3574
    OVSREC_MIRROR_COL_NAME,
3575
    OVSREC_MIRROR_COL_OUTPUT_PORT,
3576
    OVSREC_MIRROR_COL_OUTPUT_VLAN,
3577
    OVSREC_MIRROR_COL_SELECT_ALL,
3578
    OVSREC_MIRROR_COL_SELECT_DST_PORT,
3579
    OVSREC_MIRROR_COL_SELECT_SRC_PORT,
3580
    OVSREC_MIRROR_COL_SELECT_VLAN,
3581
    OVSREC_MIRROR_COL_SNAPLEN,
3582
    OVSREC_MIRROR_COL_STATISTICS,
3583
    OVSREC_MIRROR_N_COLUMNS
3584
};
3585
3586
0
#define ovsrec_mirror_col_external_ids (ovsrec_mirror_columns[OVSREC_MIRROR_COL_EXTERNAL_IDS])
3587
0
#define ovsrec_mirror_col_filter (ovsrec_mirror_columns[OVSREC_MIRROR_COL_FILTER])
3588
0
#define ovsrec_mirror_col_name (ovsrec_mirror_columns[OVSREC_MIRROR_COL_NAME])
3589
0
#define ovsrec_mirror_col_output_port (ovsrec_mirror_columns[OVSREC_MIRROR_COL_OUTPUT_PORT])
3590
0
#define ovsrec_mirror_col_output_vlan (ovsrec_mirror_columns[OVSREC_MIRROR_COL_OUTPUT_VLAN])
3591
0
#define ovsrec_mirror_col_select_all (ovsrec_mirror_columns[OVSREC_MIRROR_COL_SELECT_ALL])
3592
0
#define ovsrec_mirror_col_select_dst_port (ovsrec_mirror_columns[OVSREC_MIRROR_COL_SELECT_DST_PORT])
3593
0
#define ovsrec_mirror_col_select_src_port (ovsrec_mirror_columns[OVSREC_MIRROR_COL_SELECT_SRC_PORT])
3594
0
#define ovsrec_mirror_col_select_vlan (ovsrec_mirror_columns[OVSREC_MIRROR_COL_SELECT_VLAN])
3595
0
#define ovsrec_mirror_col_snaplen (ovsrec_mirror_columns[OVSREC_MIRROR_COL_SNAPLEN])
3596
0
#define ovsrec_mirror_col_statistics (ovsrec_mirror_columns[OVSREC_MIRROR_COL_STATISTICS])
3597
3598
extern struct ovsdb_idl_column ovsrec_mirror_columns[OVSREC_MIRROR_N_COLUMNS];
3599
bool ovsrec_server_has_mirror_table_col_external_ids(const struct ovsdb_idl *); 
3600
const struct ovsdb_type *ovsrec_mirror_external_ids_server_type(const struct ovsdb_idl *); 
3601
bool ovsrec_server_has_mirror_table_col_filter(const struct ovsdb_idl *); 
3602
const struct ovsdb_type *ovsrec_mirror_filter_server_type(const struct ovsdb_idl *); 
3603
bool ovsrec_server_has_mirror_table_col_name(const struct ovsdb_idl *); 
3604
const struct ovsdb_type *ovsrec_mirror_name_server_type(const struct ovsdb_idl *); 
3605
bool ovsrec_server_has_mirror_table_col_output_port(const struct ovsdb_idl *); 
3606
const struct ovsdb_type *ovsrec_mirror_output_port_server_type(const struct ovsdb_idl *); 
3607
bool ovsrec_server_has_mirror_table_col_output_vlan(const struct ovsdb_idl *); 
3608
const struct ovsdb_type *ovsrec_mirror_output_vlan_server_type(const struct ovsdb_idl *); 
3609
bool ovsrec_server_has_mirror_table_col_select_all(const struct ovsdb_idl *); 
3610
const struct ovsdb_type *ovsrec_mirror_select_all_server_type(const struct ovsdb_idl *); 
3611
bool ovsrec_server_has_mirror_table_col_select_dst_port(const struct ovsdb_idl *); 
3612
const struct ovsdb_type *ovsrec_mirror_select_dst_port_server_type(const struct ovsdb_idl *); 
3613
bool ovsrec_server_has_mirror_table_col_select_src_port(const struct ovsdb_idl *); 
3614
const struct ovsdb_type *ovsrec_mirror_select_src_port_server_type(const struct ovsdb_idl *); 
3615
bool ovsrec_server_has_mirror_table_col_select_vlan(const struct ovsdb_idl *); 
3616
const struct ovsdb_type *ovsrec_mirror_select_vlan_server_type(const struct ovsdb_idl *); 
3617
bool ovsrec_server_has_mirror_table_col_snaplen(const struct ovsdb_idl *); 
3618
const struct ovsdb_type *ovsrec_mirror_snaplen_server_type(const struct ovsdb_idl *); 
3619
bool ovsrec_server_has_mirror_table_col_statistics(const struct ovsdb_idl *); 
3620
const struct ovsdb_type *ovsrec_mirror_statistics_server_type(const struct ovsdb_idl *); 
3621
3622
bool ovsrec_server_has_mirror_table(const struct ovsdb_idl *);
3623
const struct ovsrec_mirror_table *ovsrec_mirror_table_get(const struct ovsdb_idl *);
3624
const struct ovsrec_mirror *ovsrec_mirror_table_first(const struct ovsrec_mirror_table *);
3625
3626
#define OVSREC_MIRROR_TABLE_FOR_EACH(ROW, TABLE) \
3627
        for ((ROW) = ovsrec_mirror_table_first(TABLE); \
3628
             (ROW); \
3629
             (ROW) = ovsrec_mirror_next(ROW))
3630
#define OVSREC_MIRROR_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
3631
        for ((ROW) = ovsrec_mirror_table_first(TABLE); \
3632
             (ROW) ? ((NEXT) = ovsrec_mirror_next(ROW), 1) : 0; \
3633
             (ROW) = (NEXT))
3634
#define OVSREC_MIRROR_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
3635
        for (const struct ovsrec_mirror * ROW__next = ((ROW) = ovsrec_mirror_table_first(TABLE), NULL); \
3636
             (ROW) ? (ROW__next = ovsrec_mirror_next(ROW), 1) : (ROW__next = NULL, 0); \
3637
             (ROW) = ROW__next)
3638
#define OVSREC_MIRROR_TABLE_FOR_EACH_SAFE(...)                                        \
3639
        OVERLOAD_SAFE_MACRO(OVSREC_MIRROR_TABLE_FOR_EACH_SAFE_LONG,                   \
3640
                            OVSREC_MIRROR_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
3641
3642
3643
const struct ovsrec_mirror *ovsrec_mirror_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
3644
const struct ovsrec_mirror *ovsrec_mirror_table_get_for_uuid(const struct ovsrec_mirror_table *, const struct uuid *);
3645
const struct ovsrec_mirror *ovsrec_mirror_first(const struct ovsdb_idl *);
3646
const struct ovsrec_mirror *ovsrec_mirror_next(const struct ovsrec_mirror *);
3647
#define OVSREC_MIRROR_FOR_EACH(ROW, IDL) \
3648
        for ((ROW) = ovsrec_mirror_first(IDL); \
3649
             (ROW); \
3650
             (ROW) = ovsrec_mirror_next(ROW))
3651
#define OVSREC_MIRROR_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
3652
        for ((ROW) = ovsrec_mirror_first(IDL); \
3653
             (ROW) ? ((NEXT) = ovsrec_mirror_next(ROW), 1) : 0; \
3654
             (ROW) = (NEXT))
3655
#define OVSREC_MIRROR_FOR_EACH_SAFE_SHORT(ROW, IDL) \
3656
        for (const struct ovsrec_mirror * ROW__next = ((ROW) = ovsrec_mirror_first(IDL), NULL); \
3657
             (ROW) ? (ROW__next = ovsrec_mirror_next(ROW), 1) : (ROW__next = NULL, 0); \
3658
             (ROW) = ROW__next)
3659
#define OVSREC_MIRROR_FOR_EACH_SAFE(...)                                         \
3660
        OVERLOAD_SAFE_MACRO(OVSREC_MIRROR_FOR_EACH_SAFE_LONG,                    \
3661
                            OVSREC_MIRROR_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
3662
3663
unsigned int ovsrec_mirror_get_seqno(const struct ovsdb_idl *);
3664
unsigned int ovsrec_mirror_row_get_seqno(const struct ovsrec_mirror *row, enum ovsdb_idl_change change);
3665
const struct ovsrec_mirror *ovsrec_mirror_track_get_first(const struct ovsdb_idl *);
3666
const struct ovsrec_mirror *ovsrec_mirror_track_get_next(const struct ovsrec_mirror *);
3667
#define OVSREC_MIRROR_FOR_EACH_TRACKED(ROW, IDL) \
3668
        for ((ROW) = ovsrec_mirror_track_get_first(IDL); \
3669
             (ROW); \
3670
             (ROW) = ovsrec_mirror_track_get_next(ROW))
3671
3672
const struct ovsrec_mirror *ovsrec_mirror_table_track_get_first(const struct ovsrec_mirror_table *);
3673
#define OVSREC_MIRROR_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
3674
        for ((ROW) = ovsrec_mirror_table_track_get_first(TABLE); \
3675
             (ROW); \
3676
             (ROW) = ovsrec_mirror_track_get_next(ROW))
3677
3678
3679
/* Returns true if 'row' was inserted since the last change tracking reset.
3680
 *
3681
 * Note: This can only be used to test rows of tracked changes. This cannot be
3682
 * used to test if an uncommitted row that has been added locally is new or it
3683
 * may given unexpected results. */
3684
static inline bool ovsrec_mirror_is_new(const struct ovsrec_mirror *row)
3685
0
{
3686
0
    return ovsrec_mirror_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
3687
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_mirror_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_mirror_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_mirror_is_new
3688
3689
/* Returns true if 'row' was deleted since the last change tracking reset.
3690
 *
3691
 * Note: This can only be used to test rows of tracked changes. This cannot be
3692
 * used to test if an uncommitted row that has been added locally has been
3693
 * deleted or it may given unexpected results. */
3694
static inline bool ovsrec_mirror_is_deleted(const struct ovsrec_mirror *row)
3695
0
{
3696
0
    return ovsrec_mirror_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
3697
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_mirror_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_mirror_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_mirror_is_deleted
3698
3699
void ovsrec_mirror_index_destroy_row(const struct ovsrec_mirror *);
3700
3701
struct ovsrec_mirror *ovsrec_mirror_index_find(struct ovsdb_idl_index *, const struct ovsrec_mirror *);
3702
3703
int ovsrec_mirror_index_compare(
3704
    struct ovsdb_idl_index *, 
3705
    const struct ovsrec_mirror *, 
3706
    const struct ovsrec_mirror *);
3707
struct ovsdb_idl_cursor ovsrec_mirror_cursor_first(struct ovsdb_idl_index *);
3708
struct ovsdb_idl_cursor ovsrec_mirror_cursor_first_eq(
3709
    struct ovsdb_idl_index *, const struct ovsrec_mirror *);
3710
struct ovsdb_idl_cursor ovsrec_mirror_cursor_first_ge(
3711
    struct ovsdb_idl_index *, const struct ovsrec_mirror *);
3712
3713
struct ovsrec_mirror *ovsrec_mirror_cursor_data(struct ovsdb_idl_cursor *);
3714
3715
#define OVSREC_MIRROR_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
3716
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_mirror_cursor_first_ge(INDEX, FROM); \
3717
             (cursor__.position \
3718
              && ((ROW) = ovsrec_mirror_cursor_data(&cursor__), \
3719
                  !(TO) || ovsrec_mirror_index_compare(INDEX, ROW, TO) <= 0)); \
3720
             ovsdb_idl_cursor_next(&cursor__))
3721
#define OVSREC_MIRROR_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
3722
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_mirror_cursor_first_eq(INDEX, KEY); \
3723
             (cursor__.position \
3724
              ? ((ROW) = ovsrec_mirror_cursor_data(&cursor__), \
3725
                 ovsdb_idl_cursor_next_eq(&cursor__), \
3726
                 true) \
3727
              : false); \
3728
            )
3729
#define OVSREC_MIRROR_FOR_EACH_BYINDEX(ROW, INDEX) \
3730
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_mirror_cursor_first(INDEX); \
3731
             (cursor__.position \
3732
              ? ((ROW) = ovsrec_mirror_cursor_data(&cursor__), \
3733
                 ovsdb_idl_cursor_next(&cursor__), \
3734
                 true) \
3735
              : false); \
3736
            )
3737
3738
void ovsrec_mirror_init(struct ovsrec_mirror *);
3739
void ovsrec_mirror_delete(const struct ovsrec_mirror *);
3740
struct ovsrec_mirror *ovsrec_mirror_insert(struct ovsdb_idl_txn *);
3741
struct ovsrec_mirror *ovsrec_mirror_insert_persist_uuid(
3742
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
3743
3744
/* Returns true if the tracked column referenced by 'enum ovsrec_mirror_column_id' of
3745
 * the row referenced by 'struct ovsrec_mirror *' was updated since the last change
3746
 * tracking reset.
3747
 *
3748
 * Note: This can only be used to test rows of tracked changes. This cannot be
3749
 * used to test if an uncommitted row that has been added locally has been
3750
 * updated or it may given unexpected results. */
3751
bool ovsrec_mirror_is_updated(const struct ovsrec_mirror *, enum ovsrec_mirror_column_id);
3752
3753
void ovsrec_mirror_verify_external_ids(const struct ovsrec_mirror *);
3754
void ovsrec_mirror_verify_filter(const struct ovsrec_mirror *);
3755
void ovsrec_mirror_verify_name(const struct ovsrec_mirror *);
3756
void ovsrec_mirror_verify_output_port(const struct ovsrec_mirror *);
3757
void ovsrec_mirror_verify_output_vlan(const struct ovsrec_mirror *);
3758
void ovsrec_mirror_verify_select_all(const struct ovsrec_mirror *);
3759
void ovsrec_mirror_verify_select_dst_port(const struct ovsrec_mirror *);
3760
void ovsrec_mirror_verify_select_src_port(const struct ovsrec_mirror *);
3761
void ovsrec_mirror_verify_select_vlan(const struct ovsrec_mirror *);
3762
void ovsrec_mirror_verify_snaplen(const struct ovsrec_mirror *);
3763
void ovsrec_mirror_verify_statistics(const struct ovsrec_mirror *);
3764
3765
const struct ovsdb_datum *ovsrec_mirror_get_external_ids(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
3766
const struct ovsdb_datum *ovsrec_mirror_get_filter(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type);
3767
const struct ovsdb_datum *ovsrec_mirror_get_name(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type);
3768
const struct ovsdb_datum *ovsrec_mirror_get_output_port(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type);
3769
const struct ovsdb_datum *ovsrec_mirror_get_output_vlan(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type);
3770
const struct ovsdb_datum *ovsrec_mirror_get_select_all(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type);
3771
const struct ovsdb_datum *ovsrec_mirror_get_select_dst_port(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type);
3772
const struct ovsdb_datum *ovsrec_mirror_get_select_src_port(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type);
3773
const struct ovsdb_datum *ovsrec_mirror_get_select_vlan(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type);
3774
const struct ovsdb_datum *ovsrec_mirror_get_snaplen(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type);
3775
const struct ovsdb_datum *ovsrec_mirror_get_statistics(const struct ovsrec_mirror *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
3776
3777
void ovsrec_mirror_set_external_ids(const struct ovsrec_mirror *, const struct smap *);
3778
void ovsrec_mirror_set_filter(const struct ovsrec_mirror *, const char *filter);
3779
void ovsrec_mirror_set_name(const struct ovsrec_mirror *, const char *name);
3780
void ovsrec_mirror_set_output_port(const struct ovsrec_mirror *, const struct ovsrec_port *output_port);
3781
void ovsrec_mirror_set_output_vlan(const struct ovsrec_mirror *, const int64_t *output_vlan, size_t n_output_vlan);
3782
void ovsrec_mirror_set_select_all(const struct ovsrec_mirror *, bool select_all);
3783
void ovsrec_mirror_set_select_dst_port(const struct ovsrec_mirror *, struct ovsrec_port **select_dst_port, size_t n_select_dst_port);
3784
void ovsrec_mirror_set_select_src_port(const struct ovsrec_mirror *, struct ovsrec_port **select_src_port, size_t n_select_src_port);
3785
void ovsrec_mirror_set_select_vlan(const struct ovsrec_mirror *, const int64_t *select_vlan, size_t n_select_vlan);
3786
void ovsrec_mirror_set_snaplen(const struct ovsrec_mirror *, const int64_t *snaplen, size_t n_snaplen);
3787
void ovsrec_mirror_set_statistics(const struct ovsrec_mirror *, const char **key_statistics, const int64_t *value_statistics, size_t n_statistics);
3788
3789
void ovsrec_mirror_update_external_ids_setkey(const struct ovsrec_mirror *,  const char *, const char *);
3790
void ovsrec_mirror_update_external_ids_delkey(const struct ovsrec_mirror *,  const char *);
3791
void ovsrec_mirror_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
3792
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3793
void ovsrec_mirror_update_filter_addvalue(const struct ovsrec_mirror *,  const char *);
3794
void ovsrec_mirror_update_filter_delvalue(const struct ovsrec_mirror *,  const char *);
3795
void ovsrec_mirror_add_clause_filter(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *filter);
3796
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3797
void ovsrec_mirror_add_clause_name(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *name);
3798
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3799
void ovsrec_mirror_update_output_port_addvalue(const struct ovsrec_mirror *,  const struct ovsrec_port *);
3800
void ovsrec_mirror_update_output_port_delvalue(const struct ovsrec_mirror *,  const struct ovsrec_port *);
3801
void ovsrec_mirror_add_clause_output_port(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *output_port);
3802
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3803
void ovsrec_mirror_update_output_vlan_addvalue(const struct ovsrec_mirror *,  int64_t );
3804
void ovsrec_mirror_update_output_vlan_delvalue(const struct ovsrec_mirror *,  int64_t );
3805
void ovsrec_mirror_add_clause_output_vlan(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *output_vlan, size_t n_output_vlan);
3806
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3807
void ovsrec_mirror_add_clause_select_all(struct ovsdb_idl_condition *, enum ovsdb_function function, bool select_all);
3808
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3809
void ovsrec_mirror_update_select_dst_port_addvalue(const struct ovsrec_mirror *,  const struct ovsrec_port *);
3810
void ovsrec_mirror_update_select_dst_port_delvalue(const struct ovsrec_mirror *,  const struct ovsrec_port *);
3811
void ovsrec_mirror_add_clause_select_dst_port(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **select_dst_port, size_t n_select_dst_port);
3812
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3813
void ovsrec_mirror_update_select_src_port_addvalue(const struct ovsrec_mirror *,  const struct ovsrec_port *);
3814
void ovsrec_mirror_update_select_src_port_delvalue(const struct ovsrec_mirror *,  const struct ovsrec_port *);
3815
void ovsrec_mirror_add_clause_select_src_port(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **select_src_port, size_t n_select_src_port);
3816
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3817
void ovsrec_mirror_update_select_vlan_addvalue(const struct ovsrec_mirror *,  int64_t );
3818
void ovsrec_mirror_update_select_vlan_delvalue(const struct ovsrec_mirror *,  int64_t );
3819
void ovsrec_mirror_add_clause_select_vlan(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *select_vlan, size_t n_select_vlan);
3820
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3821
void ovsrec_mirror_update_snaplen_addvalue(const struct ovsrec_mirror *,  int64_t );
3822
void ovsrec_mirror_update_snaplen_delvalue(const struct ovsrec_mirror *,  int64_t );
3823
void ovsrec_mirror_add_clause_snaplen(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *snaplen, size_t n_snaplen);
3824
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3825
void ovsrec_mirror_update_statistics_setkey(const struct ovsrec_mirror *,  const char *, int64_t );
3826
void ovsrec_mirror_update_statistics_delkey(const struct ovsrec_mirror *,  const char *);
3827
void ovsrec_mirror_add_clause_statistics(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **key_statistics, const int64_t *value_statistics, size_t n_statistics);
3828
unsigned int ovsrec_mirror_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
3829
3830
struct ovsrec_mirror *ovsrec_mirror_index_init_row(struct ovsdb_idl_index *);
3831
void ovsrec_mirror_index_set_external_ids(const struct ovsrec_mirror *,
3832
const struct smap *);
3833
void ovsrec_mirror_index_set_filter(const struct ovsrec_mirror *,
3834
const char *filter);
3835
void ovsrec_mirror_index_set_name(const struct ovsrec_mirror *,
3836
const char *name);
3837
void ovsrec_mirror_index_set_output_port(const struct ovsrec_mirror *,
3838
const struct ovsrec_port *output_port);
3839
void ovsrec_mirror_index_set_output_vlan(const struct ovsrec_mirror *,
3840
const int64_t *output_vlan, size_t n_output_vlan);
3841
void ovsrec_mirror_index_set_select_all(const struct ovsrec_mirror *,
3842
bool select_all);
3843
void ovsrec_mirror_index_set_select_dst_port(const struct ovsrec_mirror *,
3844
struct ovsrec_port **select_dst_port, size_t n_select_dst_port);
3845
void ovsrec_mirror_index_set_select_src_port(const struct ovsrec_mirror *,
3846
struct ovsrec_port **select_src_port, size_t n_select_src_port);
3847
void ovsrec_mirror_index_set_select_vlan(const struct ovsrec_mirror *,
3848
const int64_t *select_vlan, size_t n_select_vlan);
3849
void ovsrec_mirror_index_set_snaplen(const struct ovsrec_mirror *,
3850
const int64_t *snaplen, size_t n_snaplen);
3851
void ovsrec_mirror_index_set_statistics(const struct ovsrec_mirror *,
3852
const char **key_statistics, const int64_t *value_statistics, size_t n_statistics);
3853

3854
/* NetFlow table. */
3855
struct ovsrec_netflow {
3856
  struct ovsdb_idl_row header_;
3857
3858
  /* active_timeout column. */
3859
  int64_t active_timeout;
3860
3861
  /* add_id_to_interface column. */
3862
  bool add_id_to_interface;
3863
3864
  /* engine_id column. */
3865
  int64_t *engine_id;
3866
  size_t n_engine_id;
3867
3868
  /* engine_type column. */
3869
  int64_t *engine_type;
3870
  size_t n_engine_type;
3871
3872
  /* external_ids column. */
3873
  struct smap external_ids;
3874
3875
  /* targets column. */
3876
  char **targets;
3877
  size_t n_targets;
3878
};
3879
3880
enum ovsrec_netflow_column_id {
3881
    OVSREC_NETFLOW_COL_ACTIVE_TIMEOUT,
3882
    OVSREC_NETFLOW_COL_ADD_ID_TO_INTERFACE,
3883
    OVSREC_NETFLOW_COL_ENGINE_ID,
3884
    OVSREC_NETFLOW_COL_ENGINE_TYPE,
3885
    OVSREC_NETFLOW_COL_EXTERNAL_IDS,
3886
    OVSREC_NETFLOW_COL_TARGETS,
3887
    OVSREC_NETFLOW_N_COLUMNS
3888
};
3889
3890
0
#define ovsrec_netflow_col_active_timeout (ovsrec_netflow_columns[OVSREC_NETFLOW_COL_ACTIVE_TIMEOUT])
3891
0
#define ovsrec_netflow_col_add_id_to_interface (ovsrec_netflow_columns[OVSREC_NETFLOW_COL_ADD_ID_TO_INTERFACE])
3892
0
#define ovsrec_netflow_col_engine_id (ovsrec_netflow_columns[OVSREC_NETFLOW_COL_ENGINE_ID])
3893
0
#define ovsrec_netflow_col_engine_type (ovsrec_netflow_columns[OVSREC_NETFLOW_COL_ENGINE_TYPE])
3894
0
#define ovsrec_netflow_col_external_ids (ovsrec_netflow_columns[OVSREC_NETFLOW_COL_EXTERNAL_IDS])
3895
0
#define ovsrec_netflow_col_targets (ovsrec_netflow_columns[OVSREC_NETFLOW_COL_TARGETS])
3896
3897
extern struct ovsdb_idl_column ovsrec_netflow_columns[OVSREC_NETFLOW_N_COLUMNS];
3898
bool ovsrec_server_has_netflow_table_col_active_timeout(const struct ovsdb_idl *); 
3899
const struct ovsdb_type *ovsrec_netflow_active_timeout_server_type(const struct ovsdb_idl *); 
3900
bool ovsrec_server_has_netflow_table_col_add_id_to_interface(const struct ovsdb_idl *); 
3901
const struct ovsdb_type *ovsrec_netflow_add_id_to_interface_server_type(const struct ovsdb_idl *); 
3902
bool ovsrec_server_has_netflow_table_col_engine_id(const struct ovsdb_idl *); 
3903
const struct ovsdb_type *ovsrec_netflow_engine_id_server_type(const struct ovsdb_idl *); 
3904
bool ovsrec_server_has_netflow_table_col_engine_type(const struct ovsdb_idl *); 
3905
const struct ovsdb_type *ovsrec_netflow_engine_type_server_type(const struct ovsdb_idl *); 
3906
bool ovsrec_server_has_netflow_table_col_external_ids(const struct ovsdb_idl *); 
3907
const struct ovsdb_type *ovsrec_netflow_external_ids_server_type(const struct ovsdb_idl *); 
3908
bool ovsrec_server_has_netflow_table_col_targets(const struct ovsdb_idl *); 
3909
const struct ovsdb_type *ovsrec_netflow_targets_server_type(const struct ovsdb_idl *); 
3910
3911
bool ovsrec_server_has_netflow_table(const struct ovsdb_idl *);
3912
const struct ovsrec_netflow_table *ovsrec_netflow_table_get(const struct ovsdb_idl *);
3913
const struct ovsrec_netflow *ovsrec_netflow_table_first(const struct ovsrec_netflow_table *);
3914
3915
#define OVSREC_NETFLOW_TABLE_FOR_EACH(ROW, TABLE) \
3916
        for ((ROW) = ovsrec_netflow_table_first(TABLE); \
3917
             (ROW); \
3918
             (ROW) = ovsrec_netflow_next(ROW))
3919
#define OVSREC_NETFLOW_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
3920
        for ((ROW) = ovsrec_netflow_table_first(TABLE); \
3921
             (ROW) ? ((NEXT) = ovsrec_netflow_next(ROW), 1) : 0; \
3922
             (ROW) = (NEXT))
3923
#define OVSREC_NETFLOW_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
3924
        for (const struct ovsrec_netflow * ROW__next = ((ROW) = ovsrec_netflow_table_first(TABLE), NULL); \
3925
             (ROW) ? (ROW__next = ovsrec_netflow_next(ROW), 1) : (ROW__next = NULL, 0); \
3926
             (ROW) = ROW__next)
3927
#define OVSREC_NETFLOW_TABLE_FOR_EACH_SAFE(...)                                        \
3928
        OVERLOAD_SAFE_MACRO(OVSREC_NETFLOW_TABLE_FOR_EACH_SAFE_LONG,                   \
3929
                            OVSREC_NETFLOW_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
3930
3931
3932
const struct ovsrec_netflow *ovsrec_netflow_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
3933
const struct ovsrec_netflow *ovsrec_netflow_table_get_for_uuid(const struct ovsrec_netflow_table *, const struct uuid *);
3934
const struct ovsrec_netflow *ovsrec_netflow_first(const struct ovsdb_idl *);
3935
const struct ovsrec_netflow *ovsrec_netflow_next(const struct ovsrec_netflow *);
3936
#define OVSREC_NETFLOW_FOR_EACH(ROW, IDL) \
3937
        for ((ROW) = ovsrec_netflow_first(IDL); \
3938
             (ROW); \
3939
             (ROW) = ovsrec_netflow_next(ROW))
3940
#define OVSREC_NETFLOW_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
3941
        for ((ROW) = ovsrec_netflow_first(IDL); \
3942
             (ROW) ? ((NEXT) = ovsrec_netflow_next(ROW), 1) : 0; \
3943
             (ROW) = (NEXT))
3944
#define OVSREC_NETFLOW_FOR_EACH_SAFE_SHORT(ROW, IDL) \
3945
        for (const struct ovsrec_netflow * ROW__next = ((ROW) = ovsrec_netflow_first(IDL), NULL); \
3946
             (ROW) ? (ROW__next = ovsrec_netflow_next(ROW), 1) : (ROW__next = NULL, 0); \
3947
             (ROW) = ROW__next)
3948
#define OVSREC_NETFLOW_FOR_EACH_SAFE(...)                                         \
3949
        OVERLOAD_SAFE_MACRO(OVSREC_NETFLOW_FOR_EACH_SAFE_LONG,                    \
3950
                            OVSREC_NETFLOW_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
3951
3952
unsigned int ovsrec_netflow_get_seqno(const struct ovsdb_idl *);
3953
unsigned int ovsrec_netflow_row_get_seqno(const struct ovsrec_netflow *row, enum ovsdb_idl_change change);
3954
const struct ovsrec_netflow *ovsrec_netflow_track_get_first(const struct ovsdb_idl *);
3955
const struct ovsrec_netflow *ovsrec_netflow_track_get_next(const struct ovsrec_netflow *);
3956
#define OVSREC_NETFLOW_FOR_EACH_TRACKED(ROW, IDL) \
3957
        for ((ROW) = ovsrec_netflow_track_get_first(IDL); \
3958
             (ROW); \
3959
             (ROW) = ovsrec_netflow_track_get_next(ROW))
3960
3961
const struct ovsrec_netflow *ovsrec_netflow_table_track_get_first(const struct ovsrec_netflow_table *);
3962
#define OVSREC_NETFLOW_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
3963
        for ((ROW) = ovsrec_netflow_table_track_get_first(TABLE); \
3964
             (ROW); \
3965
             (ROW) = ovsrec_netflow_track_get_next(ROW))
3966
3967
3968
/* Returns true if 'row' was inserted since the last change tracking reset.
3969
 *
3970
 * Note: This can only be used to test rows of tracked changes. This cannot be
3971
 * used to test if an uncommitted row that has been added locally is new or it
3972
 * may given unexpected results. */
3973
static inline bool ovsrec_netflow_is_new(const struct ovsrec_netflow *row)
3974
0
{
3975
0
    return ovsrec_netflow_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
3976
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_netflow_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_netflow_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_netflow_is_new
3977
3978
/* Returns true if 'row' was deleted since the last change tracking reset.
3979
 *
3980
 * Note: This can only be used to test rows of tracked changes. This cannot be
3981
 * used to test if an uncommitted row that has been added locally has been
3982
 * deleted or it may given unexpected results. */
3983
static inline bool ovsrec_netflow_is_deleted(const struct ovsrec_netflow *row)
3984
0
{
3985
0
    return ovsrec_netflow_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
3986
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_netflow_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_netflow_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_netflow_is_deleted
3987
3988
void ovsrec_netflow_index_destroy_row(const struct ovsrec_netflow *);
3989
3990
struct ovsrec_netflow *ovsrec_netflow_index_find(struct ovsdb_idl_index *, const struct ovsrec_netflow *);
3991
3992
int ovsrec_netflow_index_compare(
3993
    struct ovsdb_idl_index *, 
3994
    const struct ovsrec_netflow *, 
3995
    const struct ovsrec_netflow *);
3996
struct ovsdb_idl_cursor ovsrec_netflow_cursor_first(struct ovsdb_idl_index *);
3997
struct ovsdb_idl_cursor ovsrec_netflow_cursor_first_eq(
3998
    struct ovsdb_idl_index *, const struct ovsrec_netflow *);
3999
struct ovsdb_idl_cursor ovsrec_netflow_cursor_first_ge(
4000
    struct ovsdb_idl_index *, const struct ovsrec_netflow *);
4001
4002
struct ovsrec_netflow *ovsrec_netflow_cursor_data(struct ovsdb_idl_cursor *);
4003
4004
#define OVSREC_NETFLOW_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
4005
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_netflow_cursor_first_ge(INDEX, FROM); \
4006
             (cursor__.position \
4007
              && ((ROW) = ovsrec_netflow_cursor_data(&cursor__), \
4008
                  !(TO) || ovsrec_netflow_index_compare(INDEX, ROW, TO) <= 0)); \
4009
             ovsdb_idl_cursor_next(&cursor__))
4010
#define OVSREC_NETFLOW_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
4011
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_netflow_cursor_first_eq(INDEX, KEY); \
4012
             (cursor__.position \
4013
              ? ((ROW) = ovsrec_netflow_cursor_data(&cursor__), \
4014
                 ovsdb_idl_cursor_next_eq(&cursor__), \
4015
                 true) \
4016
              : false); \
4017
            )
4018
#define OVSREC_NETFLOW_FOR_EACH_BYINDEX(ROW, INDEX) \
4019
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_netflow_cursor_first(INDEX); \
4020
             (cursor__.position \
4021
              ? ((ROW) = ovsrec_netflow_cursor_data(&cursor__), \
4022
                 ovsdb_idl_cursor_next(&cursor__), \
4023
                 true) \
4024
              : false); \
4025
            )
4026
4027
void ovsrec_netflow_init(struct ovsrec_netflow *);
4028
void ovsrec_netflow_delete(const struct ovsrec_netflow *);
4029
struct ovsrec_netflow *ovsrec_netflow_insert(struct ovsdb_idl_txn *);
4030
struct ovsrec_netflow *ovsrec_netflow_insert_persist_uuid(
4031
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
4032
4033
/* Returns true if the tracked column referenced by 'enum ovsrec_netflow_column_id' of
4034
 * the row referenced by 'struct ovsrec_netflow *' was updated since the last change
4035
 * tracking reset.
4036
 *
4037
 * Note: This can only be used to test rows of tracked changes. This cannot be
4038
 * used to test if an uncommitted row that has been added locally has been
4039
 * updated or it may given unexpected results. */
4040
bool ovsrec_netflow_is_updated(const struct ovsrec_netflow *, enum ovsrec_netflow_column_id);
4041
4042
void ovsrec_netflow_verify_active_timeout(const struct ovsrec_netflow *);
4043
void ovsrec_netflow_verify_add_id_to_interface(const struct ovsrec_netflow *);
4044
void ovsrec_netflow_verify_engine_id(const struct ovsrec_netflow *);
4045
void ovsrec_netflow_verify_engine_type(const struct ovsrec_netflow *);
4046
void ovsrec_netflow_verify_external_ids(const struct ovsrec_netflow *);
4047
void ovsrec_netflow_verify_targets(const struct ovsrec_netflow *);
4048
4049
const struct ovsdb_datum *ovsrec_netflow_get_active_timeout(const struct ovsrec_netflow *, enum ovsdb_atomic_type key_type);
4050
const struct ovsdb_datum *ovsrec_netflow_get_add_id_to_interface(const struct ovsrec_netflow *, enum ovsdb_atomic_type key_type);
4051
const struct ovsdb_datum *ovsrec_netflow_get_engine_id(const struct ovsrec_netflow *, enum ovsdb_atomic_type key_type);
4052
const struct ovsdb_datum *ovsrec_netflow_get_engine_type(const struct ovsrec_netflow *, enum ovsdb_atomic_type key_type);
4053
const struct ovsdb_datum *ovsrec_netflow_get_external_ids(const struct ovsrec_netflow *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4054
const struct ovsdb_datum *ovsrec_netflow_get_targets(const struct ovsrec_netflow *, enum ovsdb_atomic_type key_type);
4055
4056
void ovsrec_netflow_set_active_timeout(const struct ovsrec_netflow *, int64_t active_timeout);
4057
void ovsrec_netflow_set_add_id_to_interface(const struct ovsrec_netflow *, bool add_id_to_interface);
4058
void ovsrec_netflow_set_engine_id(const struct ovsrec_netflow *, const int64_t *engine_id, size_t n_engine_id);
4059
void ovsrec_netflow_set_engine_type(const struct ovsrec_netflow *, const int64_t *engine_type, size_t n_engine_type);
4060
void ovsrec_netflow_set_external_ids(const struct ovsrec_netflow *, const struct smap *);
4061
void ovsrec_netflow_set_targets(const struct ovsrec_netflow *, const char **targets, size_t n_targets);
4062
4063
void ovsrec_netflow_add_clause_active_timeout(struct ovsdb_idl_condition *, enum ovsdb_function function, int64_t active_timeout);
4064
unsigned int ovsrec_netflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4065
void ovsrec_netflow_add_clause_add_id_to_interface(struct ovsdb_idl_condition *, enum ovsdb_function function, bool add_id_to_interface);
4066
unsigned int ovsrec_netflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4067
void ovsrec_netflow_update_engine_id_addvalue(const struct ovsrec_netflow *,  int64_t );
4068
void ovsrec_netflow_update_engine_id_delvalue(const struct ovsrec_netflow *,  int64_t );
4069
void ovsrec_netflow_add_clause_engine_id(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *engine_id, size_t n_engine_id);
4070
unsigned int ovsrec_netflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4071
void ovsrec_netflow_update_engine_type_addvalue(const struct ovsrec_netflow *,  int64_t );
4072
void ovsrec_netflow_update_engine_type_delvalue(const struct ovsrec_netflow *,  int64_t );
4073
void ovsrec_netflow_add_clause_engine_type(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *engine_type, size_t n_engine_type);
4074
unsigned int ovsrec_netflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4075
void ovsrec_netflow_update_external_ids_setkey(const struct ovsrec_netflow *,  const char *, const char *);
4076
void ovsrec_netflow_update_external_ids_delkey(const struct ovsrec_netflow *,  const char *);
4077
void ovsrec_netflow_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
4078
unsigned int ovsrec_netflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4079
void ovsrec_netflow_update_targets_addvalue(const struct ovsrec_netflow *,  const char *);
4080
void ovsrec_netflow_update_targets_delvalue(const struct ovsrec_netflow *,  const char *);
4081
void ovsrec_netflow_add_clause_targets(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **targets, size_t n_targets);
4082
unsigned int ovsrec_netflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4083
4084
struct ovsrec_netflow *ovsrec_netflow_index_init_row(struct ovsdb_idl_index *);
4085
void ovsrec_netflow_index_set_active_timeout(const struct ovsrec_netflow *,
4086
int64_t active_timeout);
4087
void ovsrec_netflow_index_set_add_id_to_interface(const struct ovsrec_netflow *,
4088
bool add_id_to_interface);
4089
void ovsrec_netflow_index_set_engine_id(const struct ovsrec_netflow *,
4090
const int64_t *engine_id, size_t n_engine_id);
4091
void ovsrec_netflow_index_set_engine_type(const struct ovsrec_netflow *,
4092
const int64_t *engine_type, size_t n_engine_type);
4093
void ovsrec_netflow_index_set_external_ids(const struct ovsrec_netflow *,
4094
const struct smap *);
4095
void ovsrec_netflow_index_set_targets(const struct ovsrec_netflow *,
4096
const char **targets, size_t n_targets);
4097

4098
/* Open_vSwitch table. */
4099
struct ovsrec_open_vswitch {
4100
  struct ovsdb_idl_row header_;
4101
4102
  /* bridges column. */
4103
  struct ovsrec_bridge **bridges;
4104
  size_t n_bridges;
4105
4106
  /* cur_cfg column. */
4107
  int64_t cur_cfg;
4108
4109
  /* datapath_types column. */
4110
  char **datapath_types;
4111
  size_t n_datapath_types;
4112
4113
  /* datapaths column. */
4114
  char **key_datapaths;
4115
  struct ovsrec_datapath **value_datapaths;
4116
  size_t n_datapaths;
4117
4118
  /* db_version column. */
4119
  char *db_version;
4120
4121
  /* dpdk_initialized column. */
4122
  bool dpdk_initialized;
4123
4124
  /* dpdk_version column. */
4125
  char *dpdk_version;
4126
4127
  /* external_ids column. */
4128
  struct smap external_ids;
4129
4130
  /* iface_types column. */
4131
  char **iface_types;
4132
  size_t n_iface_types;
4133
4134
  /* manager_options column. */
4135
  struct ovsrec_manager **manager_options;
4136
  size_t n_manager_options;
4137
4138
  /* next_cfg column. */
4139
  int64_t next_cfg;
4140
4141
  /* other_config column. */
4142
  struct smap other_config;
4143
4144
  /* ovs_version column. */
4145
  char *ovs_version;
4146
4147
  /* ssl column. */
4148
  struct ovsrec_ssl *ssl;
4149
4150
  /* statistics column. */
4151
  struct smap statistics;
4152
4153
  /* system_type column. */
4154
  char *system_type;
4155
4156
  /* system_version column. */
4157
  char *system_version;
4158
};
4159
4160
enum ovsrec_open_vswitch_column_id {
4161
    OVSREC_OPEN_VSWITCH_COL_BRIDGES,
4162
    OVSREC_OPEN_VSWITCH_COL_CUR_CFG,
4163
    OVSREC_OPEN_VSWITCH_COL_DATAPATH_TYPES,
4164
    OVSREC_OPEN_VSWITCH_COL_DATAPATHS,
4165
    OVSREC_OPEN_VSWITCH_COL_DB_VERSION,
4166
    OVSREC_OPEN_VSWITCH_COL_DPDK_INITIALIZED,
4167
    OVSREC_OPEN_VSWITCH_COL_DPDK_VERSION,
4168
    OVSREC_OPEN_VSWITCH_COL_EXTERNAL_IDS,
4169
    OVSREC_OPEN_VSWITCH_COL_IFACE_TYPES,
4170
    OVSREC_OPEN_VSWITCH_COL_MANAGER_OPTIONS,
4171
    OVSREC_OPEN_VSWITCH_COL_NEXT_CFG,
4172
    OVSREC_OPEN_VSWITCH_COL_OTHER_CONFIG,
4173
    OVSREC_OPEN_VSWITCH_COL_OVS_VERSION,
4174
    OVSREC_OPEN_VSWITCH_COL_SSL,
4175
    OVSREC_OPEN_VSWITCH_COL_STATISTICS,
4176
    OVSREC_OPEN_VSWITCH_COL_SYSTEM_TYPE,
4177
    OVSREC_OPEN_VSWITCH_COL_SYSTEM_VERSION,
4178
    OVSREC_OPEN_VSWITCH_N_COLUMNS
4179
};
4180
4181
0
#define ovsrec_open_vswitch_col_bridges (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_BRIDGES])
4182
0
#define ovsrec_open_vswitch_col_cur_cfg (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_CUR_CFG])
4183
0
#define ovsrec_open_vswitch_col_datapath_types (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_DATAPATH_TYPES])
4184
0
#define ovsrec_open_vswitch_col_datapaths (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_DATAPATHS])
4185
0
#define ovsrec_open_vswitch_col_db_version (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_DB_VERSION])
4186
0
#define ovsrec_open_vswitch_col_dpdk_initialized (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_DPDK_INITIALIZED])
4187
0
#define ovsrec_open_vswitch_col_dpdk_version (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_DPDK_VERSION])
4188
0
#define ovsrec_open_vswitch_col_external_ids (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_EXTERNAL_IDS])
4189
0
#define ovsrec_open_vswitch_col_iface_types (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_IFACE_TYPES])
4190
0
#define ovsrec_open_vswitch_col_manager_options (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_MANAGER_OPTIONS])
4191
0
#define ovsrec_open_vswitch_col_next_cfg (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_NEXT_CFG])
4192
0
#define ovsrec_open_vswitch_col_other_config (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_OTHER_CONFIG])
4193
0
#define ovsrec_open_vswitch_col_ovs_version (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_OVS_VERSION])
4194
0
#define ovsrec_open_vswitch_col_ssl (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_SSL])
4195
0
#define ovsrec_open_vswitch_col_statistics (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_STATISTICS])
4196
0
#define ovsrec_open_vswitch_col_system_type (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_SYSTEM_TYPE])
4197
0
#define ovsrec_open_vswitch_col_system_version (ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_COL_SYSTEM_VERSION])
4198
4199
extern struct ovsdb_idl_column ovsrec_open_vswitch_columns[OVSREC_OPEN_VSWITCH_N_COLUMNS];
4200
bool ovsrec_server_has_open_vswitch_table_col_bridges(const struct ovsdb_idl *); 
4201
const struct ovsdb_type *ovsrec_open_vswitch_bridges_server_type(const struct ovsdb_idl *); 
4202
bool ovsrec_server_has_open_vswitch_table_col_cur_cfg(const struct ovsdb_idl *); 
4203
const struct ovsdb_type *ovsrec_open_vswitch_cur_cfg_server_type(const struct ovsdb_idl *); 
4204
bool ovsrec_server_has_open_vswitch_table_col_datapath_types(const struct ovsdb_idl *); 
4205
const struct ovsdb_type *ovsrec_open_vswitch_datapath_types_server_type(const struct ovsdb_idl *); 
4206
bool ovsrec_server_has_open_vswitch_table_col_datapaths(const struct ovsdb_idl *); 
4207
const struct ovsdb_type *ovsrec_open_vswitch_datapaths_server_type(const struct ovsdb_idl *); 
4208
bool ovsrec_server_has_open_vswitch_table_col_db_version(const struct ovsdb_idl *); 
4209
const struct ovsdb_type *ovsrec_open_vswitch_db_version_server_type(const struct ovsdb_idl *); 
4210
bool ovsrec_server_has_open_vswitch_table_col_dpdk_initialized(const struct ovsdb_idl *); 
4211
const struct ovsdb_type *ovsrec_open_vswitch_dpdk_initialized_server_type(const struct ovsdb_idl *); 
4212
bool ovsrec_server_has_open_vswitch_table_col_dpdk_version(const struct ovsdb_idl *); 
4213
const struct ovsdb_type *ovsrec_open_vswitch_dpdk_version_server_type(const struct ovsdb_idl *); 
4214
bool ovsrec_server_has_open_vswitch_table_col_external_ids(const struct ovsdb_idl *); 
4215
const struct ovsdb_type *ovsrec_open_vswitch_external_ids_server_type(const struct ovsdb_idl *); 
4216
bool ovsrec_server_has_open_vswitch_table_col_iface_types(const struct ovsdb_idl *); 
4217
const struct ovsdb_type *ovsrec_open_vswitch_iface_types_server_type(const struct ovsdb_idl *); 
4218
bool ovsrec_server_has_open_vswitch_table_col_manager_options(const struct ovsdb_idl *); 
4219
const struct ovsdb_type *ovsrec_open_vswitch_manager_options_server_type(const struct ovsdb_idl *); 
4220
bool ovsrec_server_has_open_vswitch_table_col_next_cfg(const struct ovsdb_idl *); 
4221
const struct ovsdb_type *ovsrec_open_vswitch_next_cfg_server_type(const struct ovsdb_idl *); 
4222
bool ovsrec_server_has_open_vswitch_table_col_other_config(const struct ovsdb_idl *); 
4223
const struct ovsdb_type *ovsrec_open_vswitch_other_config_server_type(const struct ovsdb_idl *); 
4224
bool ovsrec_server_has_open_vswitch_table_col_ovs_version(const struct ovsdb_idl *); 
4225
const struct ovsdb_type *ovsrec_open_vswitch_ovs_version_server_type(const struct ovsdb_idl *); 
4226
bool ovsrec_server_has_open_vswitch_table_col_ssl(const struct ovsdb_idl *); 
4227
const struct ovsdb_type *ovsrec_open_vswitch_ssl_server_type(const struct ovsdb_idl *); 
4228
bool ovsrec_server_has_open_vswitch_table_col_statistics(const struct ovsdb_idl *); 
4229
const struct ovsdb_type *ovsrec_open_vswitch_statistics_server_type(const struct ovsdb_idl *); 
4230
bool ovsrec_server_has_open_vswitch_table_col_system_type(const struct ovsdb_idl *); 
4231
const struct ovsdb_type *ovsrec_open_vswitch_system_type_server_type(const struct ovsdb_idl *); 
4232
bool ovsrec_server_has_open_vswitch_table_col_system_version(const struct ovsdb_idl *); 
4233
const struct ovsdb_type *ovsrec_open_vswitch_system_version_server_type(const struct ovsdb_idl *); 
4234
4235
bool ovsrec_server_has_open_vswitch_table(const struct ovsdb_idl *);
4236
const struct ovsrec_open_vswitch_table *ovsrec_open_vswitch_table_get(const struct ovsdb_idl *);
4237
const struct ovsrec_open_vswitch *ovsrec_open_vswitch_table_first(const struct ovsrec_open_vswitch_table *);
4238
4239
#define OVSREC_OPEN_VSWITCH_TABLE_FOR_EACH(ROW, TABLE) \
4240
        for ((ROW) = ovsrec_open_vswitch_table_first(TABLE); \
4241
             (ROW); \
4242
             (ROW) = ovsrec_open_vswitch_next(ROW))
4243
#define OVSREC_OPEN_VSWITCH_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
4244
        for ((ROW) = ovsrec_open_vswitch_table_first(TABLE); \
4245
             (ROW) ? ((NEXT) = ovsrec_open_vswitch_next(ROW), 1) : 0; \
4246
             (ROW) = (NEXT))
4247
#define OVSREC_OPEN_VSWITCH_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
4248
        for (const struct ovsrec_open_vswitch * ROW__next = ((ROW) = ovsrec_open_vswitch_table_first(TABLE), NULL); \
4249
             (ROW) ? (ROW__next = ovsrec_open_vswitch_next(ROW), 1) : (ROW__next = NULL, 0); \
4250
             (ROW) = ROW__next)
4251
#define OVSREC_OPEN_VSWITCH_TABLE_FOR_EACH_SAFE(...)                                        \
4252
        OVERLOAD_SAFE_MACRO(OVSREC_OPEN_VSWITCH_TABLE_FOR_EACH_SAFE_LONG,                   \
4253
                            OVSREC_OPEN_VSWITCH_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
4254
4255
4256
const struct ovsrec_open_vswitch *ovsrec_open_vswitch_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
4257
const struct ovsrec_open_vswitch *ovsrec_open_vswitch_table_get_for_uuid(const struct ovsrec_open_vswitch_table *, const struct uuid *);
4258
const struct ovsrec_open_vswitch *ovsrec_open_vswitch_first(const struct ovsdb_idl *);
4259
const struct ovsrec_open_vswitch *ovsrec_open_vswitch_next(const struct ovsrec_open_vswitch *);
4260
#define OVSREC_OPEN_VSWITCH_FOR_EACH(ROW, IDL) \
4261
        for ((ROW) = ovsrec_open_vswitch_first(IDL); \
4262
             (ROW); \
4263
             (ROW) = ovsrec_open_vswitch_next(ROW))
4264
#define OVSREC_OPEN_VSWITCH_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
4265
        for ((ROW) = ovsrec_open_vswitch_first(IDL); \
4266
             (ROW) ? ((NEXT) = ovsrec_open_vswitch_next(ROW), 1) : 0; \
4267
             (ROW) = (NEXT))
4268
#define OVSREC_OPEN_VSWITCH_FOR_EACH_SAFE_SHORT(ROW, IDL) \
4269
        for (const struct ovsrec_open_vswitch * ROW__next = ((ROW) = ovsrec_open_vswitch_first(IDL), NULL); \
4270
             (ROW) ? (ROW__next = ovsrec_open_vswitch_next(ROW), 1) : (ROW__next = NULL, 0); \
4271
             (ROW) = ROW__next)
4272
#define OVSREC_OPEN_VSWITCH_FOR_EACH_SAFE(...)                                         \
4273
        OVERLOAD_SAFE_MACRO(OVSREC_OPEN_VSWITCH_FOR_EACH_SAFE_LONG,                    \
4274
                            OVSREC_OPEN_VSWITCH_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
4275
4276
unsigned int ovsrec_open_vswitch_get_seqno(const struct ovsdb_idl *);
4277
unsigned int ovsrec_open_vswitch_row_get_seqno(const struct ovsrec_open_vswitch *row, enum ovsdb_idl_change change);
4278
const struct ovsrec_open_vswitch *ovsrec_open_vswitch_track_get_first(const struct ovsdb_idl *);
4279
const struct ovsrec_open_vswitch *ovsrec_open_vswitch_track_get_next(const struct ovsrec_open_vswitch *);
4280
#define OVSREC_OPEN_VSWITCH_FOR_EACH_TRACKED(ROW, IDL) \
4281
        for ((ROW) = ovsrec_open_vswitch_track_get_first(IDL); \
4282
             (ROW); \
4283
             (ROW) = ovsrec_open_vswitch_track_get_next(ROW))
4284
4285
const struct ovsrec_open_vswitch *ovsrec_open_vswitch_table_track_get_first(const struct ovsrec_open_vswitch_table *);
4286
#define OVSREC_OPEN_VSWITCH_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
4287
        for ((ROW) = ovsrec_open_vswitch_table_track_get_first(TABLE); \
4288
             (ROW); \
4289
             (ROW) = ovsrec_open_vswitch_track_get_next(ROW))
4290
4291
4292
/* Returns true if 'row' was inserted since the last change tracking reset.
4293
 *
4294
 * Note: This can only be used to test rows of tracked changes. This cannot be
4295
 * used to test if an uncommitted row that has been added locally is new or it
4296
 * may given unexpected results. */
4297
static inline bool ovsrec_open_vswitch_is_new(const struct ovsrec_open_vswitch *row)
4298
0
{
4299
0
    return ovsrec_open_vswitch_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
4300
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_open_vswitch_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_open_vswitch_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_open_vswitch_is_new
4301
4302
/* Returns true if 'row' was deleted since the last change tracking reset.
4303
 *
4304
 * Note: This can only be used to test rows of tracked changes. This cannot be
4305
 * used to test if an uncommitted row that has been added locally has been
4306
 * deleted or it may given unexpected results. */
4307
static inline bool ovsrec_open_vswitch_is_deleted(const struct ovsrec_open_vswitch *row)
4308
0
{
4309
0
    return ovsrec_open_vswitch_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
4310
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_open_vswitch_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_open_vswitch_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_open_vswitch_is_deleted
4311
4312
void ovsrec_open_vswitch_index_destroy_row(const struct ovsrec_open_vswitch *);
4313
4314
struct ovsrec_open_vswitch *ovsrec_open_vswitch_index_find(struct ovsdb_idl_index *, const struct ovsrec_open_vswitch *);
4315
4316
int ovsrec_open_vswitch_index_compare(
4317
    struct ovsdb_idl_index *, 
4318
    const struct ovsrec_open_vswitch *, 
4319
    const struct ovsrec_open_vswitch *);
4320
struct ovsdb_idl_cursor ovsrec_open_vswitch_cursor_first(struct ovsdb_idl_index *);
4321
struct ovsdb_idl_cursor ovsrec_open_vswitch_cursor_first_eq(
4322
    struct ovsdb_idl_index *, const struct ovsrec_open_vswitch *);
4323
struct ovsdb_idl_cursor ovsrec_open_vswitch_cursor_first_ge(
4324
    struct ovsdb_idl_index *, const struct ovsrec_open_vswitch *);
4325
4326
struct ovsrec_open_vswitch *ovsrec_open_vswitch_cursor_data(struct ovsdb_idl_cursor *);
4327
4328
#define OVSREC_OPEN_VSWITCH_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
4329
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_open_vswitch_cursor_first_ge(INDEX, FROM); \
4330
             (cursor__.position \
4331
              && ((ROW) = ovsrec_open_vswitch_cursor_data(&cursor__), \
4332
                  !(TO) || ovsrec_open_vswitch_index_compare(INDEX, ROW, TO) <= 0)); \
4333
             ovsdb_idl_cursor_next(&cursor__))
4334
#define OVSREC_OPEN_VSWITCH_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
4335
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_open_vswitch_cursor_first_eq(INDEX, KEY); \
4336
             (cursor__.position \
4337
              ? ((ROW) = ovsrec_open_vswitch_cursor_data(&cursor__), \
4338
                 ovsdb_idl_cursor_next_eq(&cursor__), \
4339
                 true) \
4340
              : false); \
4341
            )
4342
#define OVSREC_OPEN_VSWITCH_FOR_EACH_BYINDEX(ROW, INDEX) \
4343
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_open_vswitch_cursor_first(INDEX); \
4344
             (cursor__.position \
4345
              ? ((ROW) = ovsrec_open_vswitch_cursor_data(&cursor__), \
4346
                 ovsdb_idl_cursor_next(&cursor__), \
4347
                 true) \
4348
              : false); \
4349
            )
4350
4351
void ovsrec_open_vswitch_init(struct ovsrec_open_vswitch *);
4352
void ovsrec_open_vswitch_delete(const struct ovsrec_open_vswitch *);
4353
struct ovsrec_open_vswitch *ovsrec_open_vswitch_insert(struct ovsdb_idl_txn *);
4354
struct ovsrec_open_vswitch *ovsrec_open_vswitch_insert_persist_uuid(
4355
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
4356
4357
/* Returns true if the tracked column referenced by 'enum ovsrec_open_vswitch_column_id' of
4358
 * the row referenced by 'struct ovsrec_open_vswitch *' was updated since the last change
4359
 * tracking reset.
4360
 *
4361
 * Note: This can only be used to test rows of tracked changes. This cannot be
4362
 * used to test if an uncommitted row that has been added locally has been
4363
 * updated or it may given unexpected results. */
4364
bool ovsrec_open_vswitch_is_updated(const struct ovsrec_open_vswitch *, enum ovsrec_open_vswitch_column_id);
4365
4366
void ovsrec_open_vswitch_verify_bridges(const struct ovsrec_open_vswitch *);
4367
void ovsrec_open_vswitch_verify_cur_cfg(const struct ovsrec_open_vswitch *);
4368
void ovsrec_open_vswitch_verify_datapath_types(const struct ovsrec_open_vswitch *);
4369
void ovsrec_open_vswitch_verify_datapaths(const struct ovsrec_open_vswitch *);
4370
void ovsrec_open_vswitch_verify_db_version(const struct ovsrec_open_vswitch *);
4371
void ovsrec_open_vswitch_verify_dpdk_initialized(const struct ovsrec_open_vswitch *);
4372
void ovsrec_open_vswitch_verify_dpdk_version(const struct ovsrec_open_vswitch *);
4373
void ovsrec_open_vswitch_verify_external_ids(const struct ovsrec_open_vswitch *);
4374
void ovsrec_open_vswitch_verify_iface_types(const struct ovsrec_open_vswitch *);
4375
void ovsrec_open_vswitch_verify_manager_options(const struct ovsrec_open_vswitch *);
4376
void ovsrec_open_vswitch_verify_next_cfg(const struct ovsrec_open_vswitch *);
4377
void ovsrec_open_vswitch_verify_other_config(const struct ovsrec_open_vswitch *);
4378
void ovsrec_open_vswitch_verify_ovs_version(const struct ovsrec_open_vswitch *);
4379
void ovsrec_open_vswitch_verify_ssl(const struct ovsrec_open_vswitch *);
4380
void ovsrec_open_vswitch_verify_statistics(const struct ovsrec_open_vswitch *);
4381
void ovsrec_open_vswitch_verify_system_type(const struct ovsrec_open_vswitch *);
4382
void ovsrec_open_vswitch_verify_system_version(const struct ovsrec_open_vswitch *);
4383
4384
const struct ovsdb_datum *ovsrec_open_vswitch_get_bridges(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4385
const struct ovsdb_datum *ovsrec_open_vswitch_get_cur_cfg(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4386
const struct ovsdb_datum *ovsrec_open_vswitch_get_datapath_types(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4387
const struct ovsdb_datum *ovsrec_open_vswitch_get_datapaths(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4388
const struct ovsdb_datum *ovsrec_open_vswitch_get_db_version(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4389
const struct ovsdb_datum *ovsrec_open_vswitch_get_dpdk_initialized(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4390
const struct ovsdb_datum *ovsrec_open_vswitch_get_dpdk_version(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4391
const struct ovsdb_datum *ovsrec_open_vswitch_get_external_ids(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4392
const struct ovsdb_datum *ovsrec_open_vswitch_get_iface_types(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4393
const struct ovsdb_datum *ovsrec_open_vswitch_get_manager_options(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4394
const struct ovsdb_datum *ovsrec_open_vswitch_get_next_cfg(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4395
const struct ovsdb_datum *ovsrec_open_vswitch_get_other_config(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4396
const struct ovsdb_datum *ovsrec_open_vswitch_get_ovs_version(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4397
const struct ovsdb_datum *ovsrec_open_vswitch_get_ssl(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4398
const struct ovsdb_datum *ovsrec_open_vswitch_get_statistics(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4399
const struct ovsdb_datum *ovsrec_open_vswitch_get_system_type(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4400
const struct ovsdb_datum *ovsrec_open_vswitch_get_system_version(const struct ovsrec_open_vswitch *, enum ovsdb_atomic_type key_type);
4401
4402
void ovsrec_open_vswitch_set_bridges(const struct ovsrec_open_vswitch *, struct ovsrec_bridge **bridges, size_t n_bridges);
4403
void ovsrec_open_vswitch_set_cur_cfg(const struct ovsrec_open_vswitch *, int64_t cur_cfg);
4404
void ovsrec_open_vswitch_set_datapath_types(const struct ovsrec_open_vswitch *, const char **datapath_types, size_t n_datapath_types);
4405
void ovsrec_open_vswitch_set_datapaths(const struct ovsrec_open_vswitch *, const char **key_datapaths, struct ovsrec_datapath **value_datapaths, size_t n_datapaths);
4406
void ovsrec_open_vswitch_set_db_version(const struct ovsrec_open_vswitch *, const char *db_version);
4407
void ovsrec_open_vswitch_set_dpdk_initialized(const struct ovsrec_open_vswitch *, bool dpdk_initialized);
4408
void ovsrec_open_vswitch_set_dpdk_version(const struct ovsrec_open_vswitch *, const char *dpdk_version);
4409
void ovsrec_open_vswitch_set_external_ids(const struct ovsrec_open_vswitch *, const struct smap *);
4410
void ovsrec_open_vswitch_set_iface_types(const struct ovsrec_open_vswitch *, const char **iface_types, size_t n_iface_types);
4411
void ovsrec_open_vswitch_set_manager_options(const struct ovsrec_open_vswitch *, struct ovsrec_manager **manager_options, size_t n_manager_options);
4412
void ovsrec_open_vswitch_set_next_cfg(const struct ovsrec_open_vswitch *, int64_t next_cfg);
4413
void ovsrec_open_vswitch_set_other_config(const struct ovsrec_open_vswitch *, const struct smap *);
4414
void ovsrec_open_vswitch_set_ovs_version(const struct ovsrec_open_vswitch *, const char *ovs_version);
4415
void ovsrec_open_vswitch_set_ssl(const struct ovsrec_open_vswitch *, const struct ovsrec_ssl *ssl);
4416
void ovsrec_open_vswitch_set_statistics(const struct ovsrec_open_vswitch *, const struct smap *);
4417
void ovsrec_open_vswitch_set_system_type(const struct ovsrec_open_vswitch *, const char *system_type);
4418
void ovsrec_open_vswitch_set_system_version(const struct ovsrec_open_vswitch *, const char *system_version);
4419
4420
void ovsrec_open_vswitch_update_bridges_addvalue(const struct ovsrec_open_vswitch *,  const struct ovsrec_bridge *);
4421
void ovsrec_open_vswitch_update_bridges_delvalue(const struct ovsrec_open_vswitch *,  const struct ovsrec_bridge *);
4422
void ovsrec_open_vswitch_add_clause_bridges(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **bridges, size_t n_bridges);
4423
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4424
void ovsrec_open_vswitch_add_clause_cur_cfg(struct ovsdb_idl_condition *, enum ovsdb_function function, int64_t cur_cfg);
4425
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4426
void ovsrec_open_vswitch_update_datapath_types_addvalue(const struct ovsrec_open_vswitch *,  const char *);
4427
void ovsrec_open_vswitch_update_datapath_types_delvalue(const struct ovsrec_open_vswitch *,  const char *);
4428
void ovsrec_open_vswitch_add_clause_datapath_types(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **datapath_types, size_t n_datapath_types);
4429
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4430
void ovsrec_open_vswitch_update_datapaths_setkey(const struct ovsrec_open_vswitch *,  const char *, const struct ovsrec_datapath *);
4431
void ovsrec_open_vswitch_update_datapaths_delkey(const struct ovsrec_open_vswitch *,  const char *);
4432
void ovsrec_open_vswitch_add_clause_datapaths(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **key_datapaths, struct uuid **value_datapaths, size_t n_datapaths);
4433
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4434
void ovsrec_open_vswitch_update_db_version_addvalue(const struct ovsrec_open_vswitch *,  const char *);
4435
void ovsrec_open_vswitch_update_db_version_delvalue(const struct ovsrec_open_vswitch *,  const char *);
4436
void ovsrec_open_vswitch_add_clause_db_version(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *db_version);
4437
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4438
void ovsrec_open_vswitch_add_clause_dpdk_initialized(struct ovsdb_idl_condition *, enum ovsdb_function function, bool dpdk_initialized);
4439
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4440
void ovsrec_open_vswitch_update_dpdk_version_addvalue(const struct ovsrec_open_vswitch *,  const char *);
4441
void ovsrec_open_vswitch_update_dpdk_version_delvalue(const struct ovsrec_open_vswitch *,  const char *);
4442
void ovsrec_open_vswitch_add_clause_dpdk_version(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *dpdk_version);
4443
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4444
void ovsrec_open_vswitch_update_external_ids_setkey(const struct ovsrec_open_vswitch *,  const char *, const char *);
4445
void ovsrec_open_vswitch_update_external_ids_delkey(const struct ovsrec_open_vswitch *,  const char *);
4446
void ovsrec_open_vswitch_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
4447
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4448
void ovsrec_open_vswitch_update_iface_types_addvalue(const struct ovsrec_open_vswitch *,  const char *);
4449
void ovsrec_open_vswitch_update_iface_types_delvalue(const struct ovsrec_open_vswitch *,  const char *);
4450
void ovsrec_open_vswitch_add_clause_iface_types(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **iface_types, size_t n_iface_types);
4451
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4452
void ovsrec_open_vswitch_update_manager_options_addvalue(const struct ovsrec_open_vswitch *,  const struct ovsrec_manager *);
4453
void ovsrec_open_vswitch_update_manager_options_delvalue(const struct ovsrec_open_vswitch *,  const struct ovsrec_manager *);
4454
void ovsrec_open_vswitch_add_clause_manager_options(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **manager_options, size_t n_manager_options);
4455
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4456
void ovsrec_open_vswitch_add_clause_next_cfg(struct ovsdb_idl_condition *, enum ovsdb_function function, int64_t next_cfg);
4457
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4458
void ovsrec_open_vswitch_update_other_config_setkey(const struct ovsrec_open_vswitch *,  const char *, const char *);
4459
void ovsrec_open_vswitch_update_other_config_delkey(const struct ovsrec_open_vswitch *,  const char *);
4460
void ovsrec_open_vswitch_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
4461
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4462
void ovsrec_open_vswitch_update_ovs_version_addvalue(const struct ovsrec_open_vswitch *,  const char *);
4463
void ovsrec_open_vswitch_update_ovs_version_delvalue(const struct ovsrec_open_vswitch *,  const char *);
4464
void ovsrec_open_vswitch_add_clause_ovs_version(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *ovs_version);
4465
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4466
void ovsrec_open_vswitch_update_ssl_addvalue(const struct ovsrec_open_vswitch *,  const struct ovsrec_ssl *);
4467
void ovsrec_open_vswitch_update_ssl_delvalue(const struct ovsrec_open_vswitch *,  const struct ovsrec_ssl *);
4468
void ovsrec_open_vswitch_add_clause_ssl(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *ssl);
4469
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4470
void ovsrec_open_vswitch_update_statistics_setkey(const struct ovsrec_open_vswitch *,  const char *, const char *);
4471
void ovsrec_open_vswitch_update_statistics_delkey(const struct ovsrec_open_vswitch *,  const char *);
4472
void ovsrec_open_vswitch_add_clause_statistics(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
4473
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4474
void ovsrec_open_vswitch_update_system_type_addvalue(const struct ovsrec_open_vswitch *,  const char *);
4475
void ovsrec_open_vswitch_update_system_type_delvalue(const struct ovsrec_open_vswitch *,  const char *);
4476
void ovsrec_open_vswitch_add_clause_system_type(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *system_type);
4477
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4478
void ovsrec_open_vswitch_update_system_version_addvalue(const struct ovsrec_open_vswitch *,  const char *);
4479
void ovsrec_open_vswitch_update_system_version_delvalue(const struct ovsrec_open_vswitch *,  const char *);
4480
void ovsrec_open_vswitch_add_clause_system_version(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *system_version);
4481
unsigned int ovsrec_open_vswitch_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4482
4483
struct ovsrec_open_vswitch *ovsrec_open_vswitch_index_init_row(struct ovsdb_idl_index *);
4484
void ovsrec_open_vswitch_index_set_bridges(const struct ovsrec_open_vswitch *,
4485
struct ovsrec_bridge **bridges, size_t n_bridges);
4486
void ovsrec_open_vswitch_index_set_cur_cfg(const struct ovsrec_open_vswitch *,
4487
int64_t cur_cfg);
4488
void ovsrec_open_vswitch_index_set_datapath_types(const struct ovsrec_open_vswitch *,
4489
const char **datapath_types, size_t n_datapath_types);
4490
void ovsrec_open_vswitch_index_set_datapaths(const struct ovsrec_open_vswitch *,
4491
const char **key_datapaths, struct ovsrec_datapath **value_datapaths, size_t n_datapaths);
4492
void ovsrec_open_vswitch_index_set_db_version(const struct ovsrec_open_vswitch *,
4493
const char *db_version);
4494
void ovsrec_open_vswitch_index_set_dpdk_initialized(const struct ovsrec_open_vswitch *,
4495
bool dpdk_initialized);
4496
void ovsrec_open_vswitch_index_set_dpdk_version(const struct ovsrec_open_vswitch *,
4497
const char *dpdk_version);
4498
void ovsrec_open_vswitch_index_set_external_ids(const struct ovsrec_open_vswitch *,
4499
const struct smap *);
4500
void ovsrec_open_vswitch_index_set_iface_types(const struct ovsrec_open_vswitch *,
4501
const char **iface_types, size_t n_iface_types);
4502
void ovsrec_open_vswitch_index_set_manager_options(const struct ovsrec_open_vswitch *,
4503
struct ovsrec_manager **manager_options, size_t n_manager_options);
4504
void ovsrec_open_vswitch_index_set_next_cfg(const struct ovsrec_open_vswitch *,
4505
int64_t next_cfg);
4506
void ovsrec_open_vswitch_index_set_other_config(const struct ovsrec_open_vswitch *,
4507
const struct smap *);
4508
void ovsrec_open_vswitch_index_set_ovs_version(const struct ovsrec_open_vswitch *,
4509
const char *ovs_version);
4510
void ovsrec_open_vswitch_index_set_ssl(const struct ovsrec_open_vswitch *,
4511
const struct ovsrec_ssl *ssl);
4512
void ovsrec_open_vswitch_index_set_statistics(const struct ovsrec_open_vswitch *,
4513
const struct smap *);
4514
void ovsrec_open_vswitch_index_set_system_type(const struct ovsrec_open_vswitch *,
4515
const char *system_type);
4516
void ovsrec_open_vswitch_index_set_system_version(const struct ovsrec_open_vswitch *,
4517
const char *system_version);
4518

4519
/* Port table. */
4520
struct ovsrec_port {
4521
  struct ovsdb_idl_row header_;
4522
4523
  /* bond_active_slave column. */
4524
  char *bond_active_slave;
4525
4526
  /* bond_downdelay column. */
4527
  int64_t bond_downdelay;
4528
4529
  /* bond_fake_iface column. */
4530
  bool bond_fake_iface;
4531
4532
  /* bond_mode column. */
4533
  char *bond_mode;
4534
4535
  /* bond_updelay column. */
4536
  int64_t bond_updelay;
4537
4538
  /* cvlans column. */
4539
  int64_t *cvlans;
4540
  size_t n_cvlans;
4541
4542
  /* external_ids column. */
4543
  struct smap external_ids;
4544
4545
  /* fake_bridge column. */
4546
  bool fake_bridge;
4547
4548
  /* interfaces column. */
4549
  struct ovsrec_interface **interfaces;
4550
  size_t n_interfaces;
4551
4552
  /* lacp column. */
4553
  char *lacp;
4554
4555
  /* mac column. */
4556
  char *mac;
4557
4558
  /* name column. */
4559
  char *name; /* Always nonnull. */
4560
4561
  /* other_config column. */
4562
  struct smap other_config;
4563
4564
  /* protected_ column. */
4565
  bool protected_;
4566
4567
  /* qos column. */
4568
  struct ovsrec_qos *qos;
4569
4570
  /* rstp_statistics column. */
4571
  char **key_rstp_statistics;
4572
  int64_t *value_rstp_statistics;
4573
  size_t n_rstp_statistics;
4574
4575
  /* rstp_status column. */
4576
  struct smap rstp_status;
4577
4578
  /* statistics column. */
4579
  char **key_statistics;
4580
  int64_t *value_statistics;
4581
  size_t n_statistics;
4582
4583
  /* status column. */
4584
  struct smap status;
4585
4586
  /* tag column. */
4587
  int64_t *tag;
4588
  size_t n_tag;
4589
4590
  /* trunks column. */
4591
  int64_t *trunks;
4592
  size_t n_trunks;
4593
4594
  /* vlan_mode column. */
4595
  char *vlan_mode;
4596
};
4597
4598
enum ovsrec_port_column_id {
4599
    OVSREC_PORT_COL_BOND_ACTIVE_SLAVE,
4600
    OVSREC_PORT_COL_BOND_DOWNDELAY,
4601
    OVSREC_PORT_COL_BOND_FAKE_IFACE,
4602
    OVSREC_PORT_COL_BOND_MODE,
4603
    OVSREC_PORT_COL_BOND_UPDELAY,
4604
    OVSREC_PORT_COL_CVLANS,
4605
    OVSREC_PORT_COL_EXTERNAL_IDS,
4606
    OVSREC_PORT_COL_FAKE_BRIDGE,
4607
    OVSREC_PORT_COL_INTERFACES,
4608
    OVSREC_PORT_COL_LACP,
4609
    OVSREC_PORT_COL_MAC,
4610
    OVSREC_PORT_COL_NAME,
4611
    OVSREC_PORT_COL_OTHER_CONFIG,
4612
    OVSREC_PORT_COL_PROTECTED_,
4613
    OVSREC_PORT_COL_QOS,
4614
    OVSREC_PORT_COL_RSTP_STATISTICS,
4615
    OVSREC_PORT_COL_RSTP_STATUS,
4616
    OVSREC_PORT_COL_STATISTICS,
4617
    OVSREC_PORT_COL_STATUS,
4618
    OVSREC_PORT_COL_TAG,
4619
    OVSREC_PORT_COL_TRUNKS,
4620
    OVSREC_PORT_COL_VLAN_MODE,
4621
    OVSREC_PORT_N_COLUMNS
4622
};
4623
4624
0
#define ovsrec_port_col_bond_active_slave (ovsrec_port_columns[OVSREC_PORT_COL_BOND_ACTIVE_SLAVE])
4625
0
#define ovsrec_port_col_bond_downdelay (ovsrec_port_columns[OVSREC_PORT_COL_BOND_DOWNDELAY])
4626
0
#define ovsrec_port_col_bond_fake_iface (ovsrec_port_columns[OVSREC_PORT_COL_BOND_FAKE_IFACE])
4627
0
#define ovsrec_port_col_bond_mode (ovsrec_port_columns[OVSREC_PORT_COL_BOND_MODE])
4628
0
#define ovsrec_port_col_bond_updelay (ovsrec_port_columns[OVSREC_PORT_COL_BOND_UPDELAY])
4629
0
#define ovsrec_port_col_cvlans (ovsrec_port_columns[OVSREC_PORT_COL_CVLANS])
4630
0
#define ovsrec_port_col_external_ids (ovsrec_port_columns[OVSREC_PORT_COL_EXTERNAL_IDS])
4631
0
#define ovsrec_port_col_fake_bridge (ovsrec_port_columns[OVSREC_PORT_COL_FAKE_BRIDGE])
4632
0
#define ovsrec_port_col_interfaces (ovsrec_port_columns[OVSREC_PORT_COL_INTERFACES])
4633
0
#define ovsrec_port_col_lacp (ovsrec_port_columns[OVSREC_PORT_COL_LACP])
4634
0
#define ovsrec_port_col_mac (ovsrec_port_columns[OVSREC_PORT_COL_MAC])
4635
0
#define ovsrec_port_col_name (ovsrec_port_columns[OVSREC_PORT_COL_NAME])
4636
0
#define ovsrec_port_col_other_config (ovsrec_port_columns[OVSREC_PORT_COL_OTHER_CONFIG])
4637
0
#define ovsrec_port_col_qos (ovsrec_port_columns[OVSREC_PORT_COL_QOS])
4638
0
#define ovsrec_port_col_rstp_statistics (ovsrec_port_columns[OVSREC_PORT_COL_RSTP_STATISTICS])
4639
0
#define ovsrec_port_col_rstp_status (ovsrec_port_columns[OVSREC_PORT_COL_RSTP_STATUS])
4640
0
#define ovsrec_port_col_statistics (ovsrec_port_columns[OVSREC_PORT_COL_STATISTICS])
4641
0
#define ovsrec_port_col_status (ovsrec_port_columns[OVSREC_PORT_COL_STATUS])
4642
0
#define ovsrec_port_col_tag (ovsrec_port_columns[OVSREC_PORT_COL_TAG])
4643
0
#define ovsrec_port_col_trunks (ovsrec_port_columns[OVSREC_PORT_COL_TRUNKS])
4644
0
#define ovsrec_port_col_vlan_mode (ovsrec_port_columns[OVSREC_PORT_COL_VLAN_MODE])
4645
0
#define ovsrec_port_col_protected_ (ovsrec_port_columns[OVSREC_PORT_COL_PROTECTED_])
4646
4647
extern struct ovsdb_idl_column ovsrec_port_columns[OVSREC_PORT_N_COLUMNS];
4648
bool ovsrec_server_has_port_table_col_bond_active_slave(const struct ovsdb_idl *); 
4649
const struct ovsdb_type *ovsrec_port_bond_active_slave_server_type(const struct ovsdb_idl *); 
4650
bool ovsrec_server_has_port_table_col_bond_downdelay(const struct ovsdb_idl *); 
4651
const struct ovsdb_type *ovsrec_port_bond_downdelay_server_type(const struct ovsdb_idl *); 
4652
bool ovsrec_server_has_port_table_col_bond_fake_iface(const struct ovsdb_idl *); 
4653
const struct ovsdb_type *ovsrec_port_bond_fake_iface_server_type(const struct ovsdb_idl *); 
4654
bool ovsrec_server_has_port_table_col_bond_mode(const struct ovsdb_idl *); 
4655
const struct ovsdb_type *ovsrec_port_bond_mode_server_type(const struct ovsdb_idl *); 
4656
bool ovsrec_server_has_port_table_col_bond_updelay(const struct ovsdb_idl *); 
4657
const struct ovsdb_type *ovsrec_port_bond_updelay_server_type(const struct ovsdb_idl *); 
4658
bool ovsrec_server_has_port_table_col_cvlans(const struct ovsdb_idl *); 
4659
const struct ovsdb_type *ovsrec_port_cvlans_server_type(const struct ovsdb_idl *); 
4660
bool ovsrec_server_has_port_table_col_external_ids(const struct ovsdb_idl *); 
4661
const struct ovsdb_type *ovsrec_port_external_ids_server_type(const struct ovsdb_idl *); 
4662
bool ovsrec_server_has_port_table_col_fake_bridge(const struct ovsdb_idl *); 
4663
const struct ovsdb_type *ovsrec_port_fake_bridge_server_type(const struct ovsdb_idl *); 
4664
bool ovsrec_server_has_port_table_col_interfaces(const struct ovsdb_idl *); 
4665
const struct ovsdb_type *ovsrec_port_interfaces_server_type(const struct ovsdb_idl *); 
4666
bool ovsrec_server_has_port_table_col_lacp(const struct ovsdb_idl *); 
4667
const struct ovsdb_type *ovsrec_port_lacp_server_type(const struct ovsdb_idl *); 
4668
bool ovsrec_server_has_port_table_col_mac(const struct ovsdb_idl *); 
4669
const struct ovsdb_type *ovsrec_port_mac_server_type(const struct ovsdb_idl *); 
4670
bool ovsrec_server_has_port_table_col_name(const struct ovsdb_idl *); 
4671
const struct ovsdb_type *ovsrec_port_name_server_type(const struct ovsdb_idl *); 
4672
bool ovsrec_server_has_port_table_col_other_config(const struct ovsdb_idl *); 
4673
const struct ovsdb_type *ovsrec_port_other_config_server_type(const struct ovsdb_idl *); 
4674
bool ovsrec_server_has_port_table_col_qos(const struct ovsdb_idl *); 
4675
const struct ovsdb_type *ovsrec_port_qos_server_type(const struct ovsdb_idl *); 
4676
bool ovsrec_server_has_port_table_col_rstp_statistics(const struct ovsdb_idl *); 
4677
const struct ovsdb_type *ovsrec_port_rstp_statistics_server_type(const struct ovsdb_idl *); 
4678
bool ovsrec_server_has_port_table_col_rstp_status(const struct ovsdb_idl *); 
4679
const struct ovsdb_type *ovsrec_port_rstp_status_server_type(const struct ovsdb_idl *); 
4680
bool ovsrec_server_has_port_table_col_statistics(const struct ovsdb_idl *); 
4681
const struct ovsdb_type *ovsrec_port_statistics_server_type(const struct ovsdb_idl *); 
4682
bool ovsrec_server_has_port_table_col_status(const struct ovsdb_idl *); 
4683
const struct ovsdb_type *ovsrec_port_status_server_type(const struct ovsdb_idl *); 
4684
bool ovsrec_server_has_port_table_col_tag(const struct ovsdb_idl *); 
4685
const struct ovsdb_type *ovsrec_port_tag_server_type(const struct ovsdb_idl *); 
4686
bool ovsrec_server_has_port_table_col_trunks(const struct ovsdb_idl *); 
4687
const struct ovsdb_type *ovsrec_port_trunks_server_type(const struct ovsdb_idl *); 
4688
bool ovsrec_server_has_port_table_col_vlan_mode(const struct ovsdb_idl *); 
4689
const struct ovsdb_type *ovsrec_port_vlan_mode_server_type(const struct ovsdb_idl *); 
4690
bool ovsrec_server_has_port_table_col_protected_(const struct ovsdb_idl *); 
4691
const struct ovsdb_type *ovsrec_port_protected__server_type(const struct ovsdb_idl *); 
4692
4693
bool ovsrec_server_has_port_table(const struct ovsdb_idl *);
4694
const struct ovsrec_port_table *ovsrec_port_table_get(const struct ovsdb_idl *);
4695
const struct ovsrec_port *ovsrec_port_table_first(const struct ovsrec_port_table *);
4696
4697
#define OVSREC_PORT_TABLE_FOR_EACH(ROW, TABLE) \
4698
        for ((ROW) = ovsrec_port_table_first(TABLE); \
4699
             (ROW); \
4700
             (ROW) = ovsrec_port_next(ROW))
4701
#define OVSREC_PORT_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
4702
        for ((ROW) = ovsrec_port_table_first(TABLE); \
4703
             (ROW) ? ((NEXT) = ovsrec_port_next(ROW), 1) : 0; \
4704
             (ROW) = (NEXT))
4705
#define OVSREC_PORT_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
4706
        for (const struct ovsrec_port * ROW__next = ((ROW) = ovsrec_port_table_first(TABLE), NULL); \
4707
             (ROW) ? (ROW__next = ovsrec_port_next(ROW), 1) : (ROW__next = NULL, 0); \
4708
             (ROW) = ROW__next)
4709
#define OVSREC_PORT_TABLE_FOR_EACH_SAFE(...)                                        \
4710
        OVERLOAD_SAFE_MACRO(OVSREC_PORT_TABLE_FOR_EACH_SAFE_LONG,                   \
4711
                            OVSREC_PORT_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
4712
4713
4714
const struct ovsrec_port *ovsrec_port_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
4715
const struct ovsrec_port *ovsrec_port_table_get_for_uuid(const struct ovsrec_port_table *, const struct uuid *);
4716
const struct ovsrec_port *ovsrec_port_first(const struct ovsdb_idl *);
4717
const struct ovsrec_port *ovsrec_port_next(const struct ovsrec_port *);
4718
#define OVSREC_PORT_FOR_EACH(ROW, IDL) \
4719
        for ((ROW) = ovsrec_port_first(IDL); \
4720
             (ROW); \
4721
             (ROW) = ovsrec_port_next(ROW))
4722
#define OVSREC_PORT_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
4723
        for ((ROW) = ovsrec_port_first(IDL); \
4724
             (ROW) ? ((NEXT) = ovsrec_port_next(ROW), 1) : 0; \
4725
             (ROW) = (NEXT))
4726
#define OVSREC_PORT_FOR_EACH_SAFE_SHORT(ROW, IDL) \
4727
        for (const struct ovsrec_port * ROW__next = ((ROW) = ovsrec_port_first(IDL), NULL); \
4728
             (ROW) ? (ROW__next = ovsrec_port_next(ROW), 1) : (ROW__next = NULL, 0); \
4729
             (ROW) = ROW__next)
4730
#define OVSREC_PORT_FOR_EACH_SAFE(...)                                         \
4731
        OVERLOAD_SAFE_MACRO(OVSREC_PORT_FOR_EACH_SAFE_LONG,                    \
4732
                            OVSREC_PORT_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
4733
4734
unsigned int ovsrec_port_get_seqno(const struct ovsdb_idl *);
4735
unsigned int ovsrec_port_row_get_seqno(const struct ovsrec_port *row, enum ovsdb_idl_change change);
4736
const struct ovsrec_port *ovsrec_port_track_get_first(const struct ovsdb_idl *);
4737
const struct ovsrec_port *ovsrec_port_track_get_next(const struct ovsrec_port *);
4738
#define OVSREC_PORT_FOR_EACH_TRACKED(ROW, IDL) \
4739
        for ((ROW) = ovsrec_port_track_get_first(IDL); \
4740
             (ROW); \
4741
             (ROW) = ovsrec_port_track_get_next(ROW))
4742
4743
const struct ovsrec_port *ovsrec_port_table_track_get_first(const struct ovsrec_port_table *);
4744
#define OVSREC_PORT_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
4745
        for ((ROW) = ovsrec_port_table_track_get_first(TABLE); \
4746
             (ROW); \
4747
             (ROW) = ovsrec_port_track_get_next(ROW))
4748
4749
4750
/* Returns true if 'row' was inserted since the last change tracking reset.
4751
 *
4752
 * Note: This can only be used to test rows of tracked changes. This cannot be
4753
 * used to test if an uncommitted row that has been added locally is new or it
4754
 * may given unexpected results. */
4755
static inline bool ovsrec_port_is_new(const struct ovsrec_port *row)
4756
0
{
4757
0
    return ovsrec_port_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
4758
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_port_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_port_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_port_is_new
4759
4760
/* Returns true if 'row' was deleted since the last change tracking reset.
4761
 *
4762
 * Note: This can only be used to test rows of tracked changes. This cannot be
4763
 * used to test if an uncommitted row that has been added locally has been
4764
 * deleted or it may given unexpected results. */
4765
static inline bool ovsrec_port_is_deleted(const struct ovsrec_port *row)
4766
0
{
4767
0
    return ovsrec_port_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
4768
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_port_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_port_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_port_is_deleted
4769
4770
void ovsrec_port_index_destroy_row(const struct ovsrec_port *);
4771
4772
struct ovsrec_port *ovsrec_port_index_find(struct ovsdb_idl_index *, const struct ovsrec_port *);
4773
4774
int ovsrec_port_index_compare(
4775
    struct ovsdb_idl_index *, 
4776
    const struct ovsrec_port *, 
4777
    const struct ovsrec_port *);
4778
struct ovsdb_idl_cursor ovsrec_port_cursor_first(struct ovsdb_idl_index *);
4779
struct ovsdb_idl_cursor ovsrec_port_cursor_first_eq(
4780
    struct ovsdb_idl_index *, const struct ovsrec_port *);
4781
struct ovsdb_idl_cursor ovsrec_port_cursor_first_ge(
4782
    struct ovsdb_idl_index *, const struct ovsrec_port *);
4783
4784
struct ovsrec_port *ovsrec_port_cursor_data(struct ovsdb_idl_cursor *);
4785
4786
#define OVSREC_PORT_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
4787
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_port_cursor_first_ge(INDEX, FROM); \
4788
             (cursor__.position \
4789
              && ((ROW) = ovsrec_port_cursor_data(&cursor__), \
4790
                  !(TO) || ovsrec_port_index_compare(INDEX, ROW, TO) <= 0)); \
4791
             ovsdb_idl_cursor_next(&cursor__))
4792
#define OVSREC_PORT_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
4793
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_port_cursor_first_eq(INDEX, KEY); \
4794
             (cursor__.position \
4795
              ? ((ROW) = ovsrec_port_cursor_data(&cursor__), \
4796
                 ovsdb_idl_cursor_next_eq(&cursor__), \
4797
                 true) \
4798
              : false); \
4799
            )
4800
#define OVSREC_PORT_FOR_EACH_BYINDEX(ROW, INDEX) \
4801
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_port_cursor_first(INDEX); \
4802
             (cursor__.position \
4803
              ? ((ROW) = ovsrec_port_cursor_data(&cursor__), \
4804
                 ovsdb_idl_cursor_next(&cursor__), \
4805
                 true) \
4806
              : false); \
4807
            )
4808
4809
void ovsrec_port_init(struct ovsrec_port *);
4810
void ovsrec_port_delete(const struct ovsrec_port *);
4811
struct ovsrec_port *ovsrec_port_insert(struct ovsdb_idl_txn *);
4812
struct ovsrec_port *ovsrec_port_insert_persist_uuid(
4813
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
4814
4815
/* Returns true if the tracked column referenced by 'enum ovsrec_port_column_id' of
4816
 * the row referenced by 'struct ovsrec_port *' was updated since the last change
4817
 * tracking reset.
4818
 *
4819
 * Note: This can only be used to test rows of tracked changes. This cannot be
4820
 * used to test if an uncommitted row that has been added locally has been
4821
 * updated or it may given unexpected results. */
4822
bool ovsrec_port_is_updated(const struct ovsrec_port *, enum ovsrec_port_column_id);
4823
4824
void ovsrec_port_verify_bond_active_slave(const struct ovsrec_port *);
4825
void ovsrec_port_verify_bond_downdelay(const struct ovsrec_port *);
4826
void ovsrec_port_verify_bond_fake_iface(const struct ovsrec_port *);
4827
void ovsrec_port_verify_bond_mode(const struct ovsrec_port *);
4828
void ovsrec_port_verify_bond_updelay(const struct ovsrec_port *);
4829
void ovsrec_port_verify_cvlans(const struct ovsrec_port *);
4830
void ovsrec_port_verify_external_ids(const struct ovsrec_port *);
4831
void ovsrec_port_verify_fake_bridge(const struct ovsrec_port *);
4832
void ovsrec_port_verify_interfaces(const struct ovsrec_port *);
4833
void ovsrec_port_verify_lacp(const struct ovsrec_port *);
4834
void ovsrec_port_verify_mac(const struct ovsrec_port *);
4835
void ovsrec_port_verify_name(const struct ovsrec_port *);
4836
void ovsrec_port_verify_other_config(const struct ovsrec_port *);
4837
void ovsrec_port_verify_protected_(const struct ovsrec_port *);
4838
void ovsrec_port_verify_qos(const struct ovsrec_port *);
4839
void ovsrec_port_verify_rstp_statistics(const struct ovsrec_port *);
4840
void ovsrec_port_verify_rstp_status(const struct ovsrec_port *);
4841
void ovsrec_port_verify_statistics(const struct ovsrec_port *);
4842
void ovsrec_port_verify_status(const struct ovsrec_port *);
4843
void ovsrec_port_verify_tag(const struct ovsrec_port *);
4844
void ovsrec_port_verify_trunks(const struct ovsrec_port *);
4845
void ovsrec_port_verify_vlan_mode(const struct ovsrec_port *);
4846
4847
const struct ovsdb_datum *ovsrec_port_get_bond_active_slave(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4848
const struct ovsdb_datum *ovsrec_port_get_bond_downdelay(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4849
const struct ovsdb_datum *ovsrec_port_get_bond_fake_iface(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4850
const struct ovsdb_datum *ovsrec_port_get_bond_mode(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4851
const struct ovsdb_datum *ovsrec_port_get_bond_updelay(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4852
const struct ovsdb_datum *ovsrec_port_get_cvlans(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4853
const struct ovsdb_datum *ovsrec_port_get_external_ids(const struct ovsrec_port *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4854
const struct ovsdb_datum *ovsrec_port_get_fake_bridge(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4855
const struct ovsdb_datum *ovsrec_port_get_interfaces(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4856
const struct ovsdb_datum *ovsrec_port_get_lacp(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4857
const struct ovsdb_datum *ovsrec_port_get_mac(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4858
const struct ovsdb_datum *ovsrec_port_get_name(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4859
const struct ovsdb_datum *ovsrec_port_get_other_config(const struct ovsrec_port *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4860
const struct ovsdb_datum *ovsrec_port_get_protected_(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4861
const struct ovsdb_datum *ovsrec_port_get_qos(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4862
const struct ovsdb_datum *ovsrec_port_get_rstp_statistics(const struct ovsrec_port *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4863
const struct ovsdb_datum *ovsrec_port_get_rstp_status(const struct ovsrec_port *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4864
const struct ovsdb_datum *ovsrec_port_get_statistics(const struct ovsrec_port *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4865
const struct ovsdb_datum *ovsrec_port_get_status(const struct ovsrec_port *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
4866
const struct ovsdb_datum *ovsrec_port_get_tag(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4867
const struct ovsdb_datum *ovsrec_port_get_trunks(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4868
const struct ovsdb_datum *ovsrec_port_get_vlan_mode(const struct ovsrec_port *, enum ovsdb_atomic_type key_type);
4869
4870
void ovsrec_port_set_bond_active_slave(const struct ovsrec_port *, const char *bond_active_slave);
4871
void ovsrec_port_set_bond_downdelay(const struct ovsrec_port *, int64_t bond_downdelay);
4872
void ovsrec_port_set_bond_fake_iface(const struct ovsrec_port *, bool bond_fake_iface);
4873
void ovsrec_port_set_bond_mode(const struct ovsrec_port *, const char *bond_mode);
4874
void ovsrec_port_set_bond_updelay(const struct ovsrec_port *, int64_t bond_updelay);
4875
void ovsrec_port_set_cvlans(const struct ovsrec_port *, const int64_t *cvlans, size_t n_cvlans);
4876
void ovsrec_port_set_external_ids(const struct ovsrec_port *, const struct smap *);
4877
void ovsrec_port_set_fake_bridge(const struct ovsrec_port *, bool fake_bridge);
4878
void ovsrec_port_set_interfaces(const struct ovsrec_port *, struct ovsrec_interface **interfaces, size_t n_interfaces);
4879
void ovsrec_port_set_lacp(const struct ovsrec_port *, const char *lacp);
4880
void ovsrec_port_set_mac(const struct ovsrec_port *, const char *mac);
4881
void ovsrec_port_set_name(const struct ovsrec_port *, const char *name);
4882
void ovsrec_port_set_other_config(const struct ovsrec_port *, const struct smap *);
4883
void ovsrec_port_set_protected_(const struct ovsrec_port *, bool protected_);
4884
void ovsrec_port_set_qos(const struct ovsrec_port *, const struct ovsrec_qos *qos);
4885
void ovsrec_port_set_rstp_statistics(const struct ovsrec_port *, const char **key_rstp_statistics, const int64_t *value_rstp_statistics, size_t n_rstp_statistics);
4886
void ovsrec_port_set_rstp_status(const struct ovsrec_port *, const struct smap *);
4887
void ovsrec_port_set_statistics(const struct ovsrec_port *, const char **key_statistics, const int64_t *value_statistics, size_t n_statistics);
4888
void ovsrec_port_set_status(const struct ovsrec_port *, const struct smap *);
4889
void ovsrec_port_set_tag(const struct ovsrec_port *, const int64_t *tag, size_t n_tag);
4890
void ovsrec_port_set_trunks(const struct ovsrec_port *, const int64_t *trunks, size_t n_trunks);
4891
void ovsrec_port_set_vlan_mode(const struct ovsrec_port *, const char *vlan_mode);
4892
4893
void ovsrec_port_update_bond_active_slave_addvalue(const struct ovsrec_port *,  const char *);
4894
void ovsrec_port_update_bond_active_slave_delvalue(const struct ovsrec_port *,  const char *);
4895
void ovsrec_port_add_clause_bond_active_slave(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *bond_active_slave);
4896
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4897
void ovsrec_port_add_clause_bond_downdelay(struct ovsdb_idl_condition *, enum ovsdb_function function, int64_t bond_downdelay);
4898
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4899
void ovsrec_port_add_clause_bond_fake_iface(struct ovsdb_idl_condition *, enum ovsdb_function function, bool bond_fake_iface);
4900
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4901
void ovsrec_port_update_bond_mode_addvalue(const struct ovsrec_port *,  const char *);
4902
void ovsrec_port_update_bond_mode_delvalue(const struct ovsrec_port *,  const char *);
4903
void ovsrec_port_add_clause_bond_mode(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *bond_mode);
4904
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4905
void ovsrec_port_add_clause_bond_updelay(struct ovsdb_idl_condition *, enum ovsdb_function function, int64_t bond_updelay);
4906
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4907
void ovsrec_port_update_cvlans_addvalue(const struct ovsrec_port *,  int64_t );
4908
void ovsrec_port_update_cvlans_delvalue(const struct ovsrec_port *,  int64_t );
4909
void ovsrec_port_add_clause_cvlans(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *cvlans, size_t n_cvlans);
4910
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4911
void ovsrec_port_update_external_ids_setkey(const struct ovsrec_port *,  const char *, const char *);
4912
void ovsrec_port_update_external_ids_delkey(const struct ovsrec_port *,  const char *);
4913
void ovsrec_port_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
4914
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4915
void ovsrec_port_add_clause_fake_bridge(struct ovsdb_idl_condition *, enum ovsdb_function function, bool fake_bridge);
4916
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4917
void ovsrec_port_update_interfaces_addvalue(const struct ovsrec_port *,  const struct ovsrec_interface *);
4918
void ovsrec_port_update_interfaces_delvalue(const struct ovsrec_port *,  const struct ovsrec_interface *);
4919
void ovsrec_port_add_clause_interfaces(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **interfaces, size_t n_interfaces);
4920
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4921
void ovsrec_port_update_lacp_addvalue(const struct ovsrec_port *,  const char *);
4922
void ovsrec_port_update_lacp_delvalue(const struct ovsrec_port *,  const char *);
4923
void ovsrec_port_add_clause_lacp(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *lacp);
4924
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4925
void ovsrec_port_update_mac_addvalue(const struct ovsrec_port *,  const char *);
4926
void ovsrec_port_update_mac_delvalue(const struct ovsrec_port *,  const char *);
4927
void ovsrec_port_add_clause_mac(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *mac);
4928
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4929
void ovsrec_port_add_clause_name(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *name);
4930
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4931
void ovsrec_port_update_other_config_setkey(const struct ovsrec_port *,  const char *, const char *);
4932
void ovsrec_port_update_other_config_delkey(const struct ovsrec_port *,  const char *);
4933
void ovsrec_port_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
4934
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4935
void ovsrec_port_add_clause_protected_(struct ovsdb_idl_condition *, enum ovsdb_function function, bool protected_);
4936
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4937
void ovsrec_port_update_qos_addvalue(const struct ovsrec_port *,  const struct ovsrec_qos *);
4938
void ovsrec_port_update_qos_delvalue(const struct ovsrec_port *,  const struct ovsrec_qos *);
4939
void ovsrec_port_add_clause_qos(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *qos);
4940
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4941
void ovsrec_port_update_rstp_statistics_setkey(const struct ovsrec_port *,  const char *, int64_t );
4942
void ovsrec_port_update_rstp_statistics_delkey(const struct ovsrec_port *,  const char *);
4943
void ovsrec_port_add_clause_rstp_statistics(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **key_rstp_statistics, const int64_t *value_rstp_statistics, size_t n_rstp_statistics);
4944
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4945
void ovsrec_port_update_rstp_status_setkey(const struct ovsrec_port *,  const char *, const char *);
4946
void ovsrec_port_update_rstp_status_delkey(const struct ovsrec_port *,  const char *);
4947
void ovsrec_port_add_clause_rstp_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
4948
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4949
void ovsrec_port_update_statistics_setkey(const struct ovsrec_port *,  const char *, int64_t );
4950
void ovsrec_port_update_statistics_delkey(const struct ovsrec_port *,  const char *);
4951
void ovsrec_port_add_clause_statistics(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **key_statistics, const int64_t *value_statistics, size_t n_statistics);
4952
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4953
void ovsrec_port_update_status_setkey(const struct ovsrec_port *,  const char *, const char *);
4954
void ovsrec_port_update_status_delkey(const struct ovsrec_port *,  const char *);
4955
void ovsrec_port_add_clause_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
4956
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4957
void ovsrec_port_update_tag_addvalue(const struct ovsrec_port *,  int64_t );
4958
void ovsrec_port_update_tag_delvalue(const struct ovsrec_port *,  int64_t );
4959
void ovsrec_port_add_clause_tag(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *tag, size_t n_tag);
4960
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4961
void ovsrec_port_update_trunks_addvalue(const struct ovsrec_port *,  int64_t );
4962
void ovsrec_port_update_trunks_delvalue(const struct ovsrec_port *,  int64_t );
4963
void ovsrec_port_add_clause_trunks(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *trunks, size_t n_trunks);
4964
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4965
void ovsrec_port_update_vlan_mode_addvalue(const struct ovsrec_port *,  const char *);
4966
void ovsrec_port_update_vlan_mode_delvalue(const struct ovsrec_port *,  const char *);
4967
void ovsrec_port_add_clause_vlan_mode(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *vlan_mode);
4968
unsigned int ovsrec_port_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
4969
4970
struct ovsrec_port *ovsrec_port_index_init_row(struct ovsdb_idl_index *);
4971
void ovsrec_port_index_set_bond_active_slave(const struct ovsrec_port *,
4972
const char *bond_active_slave);
4973
void ovsrec_port_index_set_bond_downdelay(const struct ovsrec_port *,
4974
int64_t bond_downdelay);
4975
void ovsrec_port_index_set_bond_fake_iface(const struct ovsrec_port *,
4976
bool bond_fake_iface);
4977
void ovsrec_port_index_set_bond_mode(const struct ovsrec_port *,
4978
const char *bond_mode);
4979
void ovsrec_port_index_set_bond_updelay(const struct ovsrec_port *,
4980
int64_t bond_updelay);
4981
void ovsrec_port_index_set_cvlans(const struct ovsrec_port *,
4982
const int64_t *cvlans, size_t n_cvlans);
4983
void ovsrec_port_index_set_external_ids(const struct ovsrec_port *,
4984
const struct smap *);
4985
void ovsrec_port_index_set_fake_bridge(const struct ovsrec_port *,
4986
bool fake_bridge);
4987
void ovsrec_port_index_set_interfaces(const struct ovsrec_port *,
4988
struct ovsrec_interface **interfaces, size_t n_interfaces);
4989
void ovsrec_port_index_set_lacp(const struct ovsrec_port *,
4990
const char *lacp);
4991
void ovsrec_port_index_set_mac(const struct ovsrec_port *,
4992
const char *mac);
4993
void ovsrec_port_index_set_name(const struct ovsrec_port *,
4994
const char *name);
4995
void ovsrec_port_index_set_other_config(const struct ovsrec_port *,
4996
const struct smap *);
4997
void ovsrec_port_index_set_protected_(const struct ovsrec_port *,
4998
bool protected_);
4999
void ovsrec_port_index_set_qos(const struct ovsrec_port *,
5000
const struct ovsrec_qos *qos);
5001
void ovsrec_port_index_set_rstp_statistics(const struct ovsrec_port *,
5002
const char **key_rstp_statistics, const int64_t *value_rstp_statistics, size_t n_rstp_statistics);
5003
void ovsrec_port_index_set_rstp_status(const struct ovsrec_port *,
5004
const struct smap *);
5005
void ovsrec_port_index_set_statistics(const struct ovsrec_port *,
5006
const char **key_statistics, const int64_t *value_statistics, size_t n_statistics);
5007
void ovsrec_port_index_set_status(const struct ovsrec_port *,
5008
const struct smap *);
5009
void ovsrec_port_index_set_tag(const struct ovsrec_port *,
5010
const int64_t *tag, size_t n_tag);
5011
void ovsrec_port_index_set_trunks(const struct ovsrec_port *,
5012
const int64_t *trunks, size_t n_trunks);
5013
void ovsrec_port_index_set_vlan_mode(const struct ovsrec_port *,
5014
const char *vlan_mode);
5015

5016
/* QoS table. */
5017
struct ovsrec_qos {
5018
  struct ovsdb_idl_row header_;
5019
5020
  /* external_ids column. */
5021
  struct smap external_ids;
5022
5023
  /* other_config column. */
5024
  struct smap other_config;
5025
5026
  /* queues column. */
5027
  int64_t *key_queues;
5028
  struct ovsrec_queue **value_queues;
5029
  size_t n_queues;
5030
5031
  /* type column. */
5032
  char *type; /* Always nonnull. */
5033
};
5034
5035
enum ovsrec_qos_column_id {
5036
    OVSREC_QOS_COL_EXTERNAL_IDS,
5037
    OVSREC_QOS_COL_OTHER_CONFIG,
5038
    OVSREC_QOS_COL_QUEUES,
5039
    OVSREC_QOS_COL_TYPE,
5040
    OVSREC_QOS_N_COLUMNS
5041
};
5042
5043
0
#define ovsrec_qos_col_external_ids (ovsrec_qos_columns[OVSREC_QOS_COL_EXTERNAL_IDS])
5044
0
#define ovsrec_qos_col_other_config (ovsrec_qos_columns[OVSREC_QOS_COL_OTHER_CONFIG])
5045
0
#define ovsrec_qos_col_queues (ovsrec_qos_columns[OVSREC_QOS_COL_QUEUES])
5046
0
#define ovsrec_qos_col_type (ovsrec_qos_columns[OVSREC_QOS_COL_TYPE])
5047
5048
extern struct ovsdb_idl_column ovsrec_qos_columns[OVSREC_QOS_N_COLUMNS];
5049
bool ovsrec_server_has_qos_table_col_external_ids(const struct ovsdb_idl *); 
5050
const struct ovsdb_type *ovsrec_qos_external_ids_server_type(const struct ovsdb_idl *); 
5051
bool ovsrec_server_has_qos_table_col_other_config(const struct ovsdb_idl *); 
5052
const struct ovsdb_type *ovsrec_qos_other_config_server_type(const struct ovsdb_idl *); 
5053
bool ovsrec_server_has_qos_table_col_queues(const struct ovsdb_idl *); 
5054
const struct ovsdb_type *ovsrec_qos_queues_server_type(const struct ovsdb_idl *); 
5055
bool ovsrec_server_has_qos_table_col_type(const struct ovsdb_idl *); 
5056
const struct ovsdb_type *ovsrec_qos_type_server_type(const struct ovsdb_idl *); 
5057
5058
bool ovsrec_server_has_qos_table(const struct ovsdb_idl *);
5059
const struct ovsrec_qos_table *ovsrec_qos_table_get(const struct ovsdb_idl *);
5060
const struct ovsrec_qos *ovsrec_qos_table_first(const struct ovsrec_qos_table *);
5061
5062
#define OVSREC_QOS_TABLE_FOR_EACH(ROW, TABLE) \
5063
        for ((ROW) = ovsrec_qos_table_first(TABLE); \
5064
             (ROW); \
5065
             (ROW) = ovsrec_qos_next(ROW))
5066
#define OVSREC_QOS_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
5067
        for ((ROW) = ovsrec_qos_table_first(TABLE); \
5068
             (ROW) ? ((NEXT) = ovsrec_qos_next(ROW), 1) : 0; \
5069
             (ROW) = (NEXT))
5070
#define OVSREC_QOS_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
5071
        for (const struct ovsrec_qos * ROW__next = ((ROW) = ovsrec_qos_table_first(TABLE), NULL); \
5072
             (ROW) ? (ROW__next = ovsrec_qos_next(ROW), 1) : (ROW__next = NULL, 0); \
5073
             (ROW) = ROW__next)
5074
#define OVSREC_QOS_TABLE_FOR_EACH_SAFE(...)                                        \
5075
        OVERLOAD_SAFE_MACRO(OVSREC_QOS_TABLE_FOR_EACH_SAFE_LONG,                   \
5076
                            OVSREC_QOS_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
5077
5078
5079
const struct ovsrec_qos *ovsrec_qos_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
5080
const struct ovsrec_qos *ovsrec_qos_table_get_for_uuid(const struct ovsrec_qos_table *, const struct uuid *);
5081
const struct ovsrec_qos *ovsrec_qos_first(const struct ovsdb_idl *);
5082
const struct ovsrec_qos *ovsrec_qos_next(const struct ovsrec_qos *);
5083
#define OVSREC_QOS_FOR_EACH(ROW, IDL) \
5084
        for ((ROW) = ovsrec_qos_first(IDL); \
5085
             (ROW); \
5086
             (ROW) = ovsrec_qos_next(ROW))
5087
#define OVSREC_QOS_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
5088
        for ((ROW) = ovsrec_qos_first(IDL); \
5089
             (ROW) ? ((NEXT) = ovsrec_qos_next(ROW), 1) : 0; \
5090
             (ROW) = (NEXT))
5091
#define OVSREC_QOS_FOR_EACH_SAFE_SHORT(ROW, IDL) \
5092
        for (const struct ovsrec_qos * ROW__next = ((ROW) = ovsrec_qos_first(IDL), NULL); \
5093
             (ROW) ? (ROW__next = ovsrec_qos_next(ROW), 1) : (ROW__next = NULL, 0); \
5094
             (ROW) = ROW__next)
5095
#define OVSREC_QOS_FOR_EACH_SAFE(...)                                         \
5096
        OVERLOAD_SAFE_MACRO(OVSREC_QOS_FOR_EACH_SAFE_LONG,                    \
5097
                            OVSREC_QOS_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
5098
5099
unsigned int ovsrec_qos_get_seqno(const struct ovsdb_idl *);
5100
unsigned int ovsrec_qos_row_get_seqno(const struct ovsrec_qos *row, enum ovsdb_idl_change change);
5101
const struct ovsrec_qos *ovsrec_qos_track_get_first(const struct ovsdb_idl *);
5102
const struct ovsrec_qos *ovsrec_qos_track_get_next(const struct ovsrec_qos *);
5103
#define OVSREC_QOS_FOR_EACH_TRACKED(ROW, IDL) \
5104
        for ((ROW) = ovsrec_qos_track_get_first(IDL); \
5105
             (ROW); \
5106
             (ROW) = ovsrec_qos_track_get_next(ROW))
5107
5108
const struct ovsrec_qos *ovsrec_qos_table_track_get_first(const struct ovsrec_qos_table *);
5109
#define OVSREC_QOS_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
5110
        for ((ROW) = ovsrec_qos_table_track_get_first(TABLE); \
5111
             (ROW); \
5112
             (ROW) = ovsrec_qos_track_get_next(ROW))
5113
5114
5115
/* Returns true if 'row' was inserted since the last change tracking reset.
5116
 *
5117
 * Note: This can only be used to test rows of tracked changes. This cannot be
5118
 * used to test if an uncommitted row that has been added locally is new or it
5119
 * may given unexpected results. */
5120
static inline bool ovsrec_qos_is_new(const struct ovsrec_qos *row)
5121
0
{
5122
0
    return ovsrec_qos_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
5123
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_qos_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_qos_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_qos_is_new
5124
5125
/* Returns true if 'row' was deleted since the last change tracking reset.
5126
 *
5127
 * Note: This can only be used to test rows of tracked changes. This cannot be
5128
 * used to test if an uncommitted row that has been added locally has been
5129
 * deleted or it may given unexpected results. */
5130
static inline bool ovsrec_qos_is_deleted(const struct ovsrec_qos *row)
5131
0
{
5132
0
    return ovsrec_qos_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
5133
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_qos_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_qos_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_qos_is_deleted
5134
5135
void ovsrec_qos_index_destroy_row(const struct ovsrec_qos *);
5136
5137
struct ovsrec_qos *ovsrec_qos_index_find(struct ovsdb_idl_index *, const struct ovsrec_qos *);
5138
5139
int ovsrec_qos_index_compare(
5140
    struct ovsdb_idl_index *, 
5141
    const struct ovsrec_qos *, 
5142
    const struct ovsrec_qos *);
5143
struct ovsdb_idl_cursor ovsrec_qos_cursor_first(struct ovsdb_idl_index *);
5144
struct ovsdb_idl_cursor ovsrec_qos_cursor_first_eq(
5145
    struct ovsdb_idl_index *, const struct ovsrec_qos *);
5146
struct ovsdb_idl_cursor ovsrec_qos_cursor_first_ge(
5147
    struct ovsdb_idl_index *, const struct ovsrec_qos *);
5148
5149
struct ovsrec_qos *ovsrec_qos_cursor_data(struct ovsdb_idl_cursor *);
5150
5151
#define OVSREC_QOS_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
5152
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_qos_cursor_first_ge(INDEX, FROM); \
5153
             (cursor__.position \
5154
              && ((ROW) = ovsrec_qos_cursor_data(&cursor__), \
5155
                  !(TO) || ovsrec_qos_index_compare(INDEX, ROW, TO) <= 0)); \
5156
             ovsdb_idl_cursor_next(&cursor__))
5157
#define OVSREC_QOS_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
5158
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_qos_cursor_first_eq(INDEX, KEY); \
5159
             (cursor__.position \
5160
              ? ((ROW) = ovsrec_qos_cursor_data(&cursor__), \
5161
                 ovsdb_idl_cursor_next_eq(&cursor__), \
5162
                 true) \
5163
              : false); \
5164
            )
5165
#define OVSREC_QOS_FOR_EACH_BYINDEX(ROW, INDEX) \
5166
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_qos_cursor_first(INDEX); \
5167
             (cursor__.position \
5168
              ? ((ROW) = ovsrec_qos_cursor_data(&cursor__), \
5169
                 ovsdb_idl_cursor_next(&cursor__), \
5170
                 true) \
5171
              : false); \
5172
            )
5173
5174
void ovsrec_qos_init(struct ovsrec_qos *);
5175
void ovsrec_qos_delete(const struct ovsrec_qos *);
5176
struct ovsrec_qos *ovsrec_qos_insert(struct ovsdb_idl_txn *);
5177
struct ovsrec_qos *ovsrec_qos_insert_persist_uuid(
5178
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
5179
5180
/* Returns true if the tracked column referenced by 'enum ovsrec_qos_column_id' of
5181
 * the row referenced by 'struct ovsrec_qos *' was updated since the last change
5182
 * tracking reset.
5183
 *
5184
 * Note: This can only be used to test rows of tracked changes. This cannot be
5185
 * used to test if an uncommitted row that has been added locally has been
5186
 * updated or it may given unexpected results. */
5187
bool ovsrec_qos_is_updated(const struct ovsrec_qos *, enum ovsrec_qos_column_id);
5188
5189
void ovsrec_qos_verify_external_ids(const struct ovsrec_qos *);
5190
void ovsrec_qos_verify_other_config(const struct ovsrec_qos *);
5191
void ovsrec_qos_verify_queues(const struct ovsrec_qos *);
5192
void ovsrec_qos_verify_type(const struct ovsrec_qos *);
5193
5194
const struct ovsdb_datum *ovsrec_qos_get_external_ids(const struct ovsrec_qos *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
5195
const struct ovsdb_datum *ovsrec_qos_get_other_config(const struct ovsrec_qos *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
5196
const struct ovsdb_datum *ovsrec_qos_get_queues(const struct ovsrec_qos *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
5197
const struct ovsdb_datum *ovsrec_qos_get_type(const struct ovsrec_qos *, enum ovsdb_atomic_type key_type);
5198
5199
void ovsrec_qos_set_external_ids(const struct ovsrec_qos *, const struct smap *);
5200
void ovsrec_qos_set_other_config(const struct ovsrec_qos *, const struct smap *);
5201
void ovsrec_qos_set_queues(const struct ovsrec_qos *, const int64_t *key_queues, struct ovsrec_queue **value_queues, size_t n_queues);
5202
void ovsrec_qos_set_type(const struct ovsrec_qos *, const char *type);
5203
5204
void ovsrec_qos_update_external_ids_setkey(const struct ovsrec_qos *,  const char *, const char *);
5205
void ovsrec_qos_update_external_ids_delkey(const struct ovsrec_qos *,  const char *);
5206
void ovsrec_qos_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
5207
unsigned int ovsrec_qos_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5208
void ovsrec_qos_update_other_config_setkey(const struct ovsrec_qos *,  const char *, const char *);
5209
void ovsrec_qos_update_other_config_delkey(const struct ovsrec_qos *,  const char *);
5210
void ovsrec_qos_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
5211
unsigned int ovsrec_qos_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5212
void ovsrec_qos_update_queues_setkey(const struct ovsrec_qos *,  int64_t , const struct ovsrec_queue *);
5213
void ovsrec_qos_update_queues_delkey(const struct ovsrec_qos *,  int64_t );
5214
void ovsrec_qos_add_clause_queues(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *key_queues, struct uuid **value_queues, size_t n_queues);
5215
unsigned int ovsrec_qos_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5216
void ovsrec_qos_add_clause_type(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *type);
5217
unsigned int ovsrec_qos_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5218
5219
struct ovsrec_qos *ovsrec_qos_index_init_row(struct ovsdb_idl_index *);
5220
void ovsrec_qos_index_set_external_ids(const struct ovsrec_qos *,
5221
const struct smap *);
5222
void ovsrec_qos_index_set_other_config(const struct ovsrec_qos *,
5223
const struct smap *);
5224
void ovsrec_qos_index_set_queues(const struct ovsrec_qos *,
5225
const int64_t *key_queues, struct ovsrec_queue **value_queues, size_t n_queues);
5226
void ovsrec_qos_index_set_type(const struct ovsrec_qos *,
5227
const char *type);
5228

5229
/* Queue table. */
5230
struct ovsrec_queue {
5231
  struct ovsdb_idl_row header_;
5232
5233
  /* dscp column. */
5234
  int64_t *dscp;
5235
  size_t n_dscp;
5236
5237
  /* external_ids column. */
5238
  struct smap external_ids;
5239
5240
  /* other_config column. */
5241
  struct smap other_config;
5242
};
5243
5244
enum ovsrec_queue_column_id {
5245
    OVSREC_QUEUE_COL_DSCP,
5246
    OVSREC_QUEUE_COL_EXTERNAL_IDS,
5247
    OVSREC_QUEUE_COL_OTHER_CONFIG,
5248
    OVSREC_QUEUE_N_COLUMNS
5249
};
5250
5251
0
#define ovsrec_queue_col_dscp (ovsrec_queue_columns[OVSREC_QUEUE_COL_DSCP])
5252
0
#define ovsrec_queue_col_external_ids (ovsrec_queue_columns[OVSREC_QUEUE_COL_EXTERNAL_IDS])
5253
0
#define ovsrec_queue_col_other_config (ovsrec_queue_columns[OVSREC_QUEUE_COL_OTHER_CONFIG])
5254
5255
extern struct ovsdb_idl_column ovsrec_queue_columns[OVSREC_QUEUE_N_COLUMNS];
5256
bool ovsrec_server_has_queue_table_col_dscp(const struct ovsdb_idl *); 
5257
const struct ovsdb_type *ovsrec_queue_dscp_server_type(const struct ovsdb_idl *); 
5258
bool ovsrec_server_has_queue_table_col_external_ids(const struct ovsdb_idl *); 
5259
const struct ovsdb_type *ovsrec_queue_external_ids_server_type(const struct ovsdb_idl *); 
5260
bool ovsrec_server_has_queue_table_col_other_config(const struct ovsdb_idl *); 
5261
const struct ovsdb_type *ovsrec_queue_other_config_server_type(const struct ovsdb_idl *); 
5262
5263
bool ovsrec_server_has_queue_table(const struct ovsdb_idl *);
5264
const struct ovsrec_queue_table *ovsrec_queue_table_get(const struct ovsdb_idl *);
5265
const struct ovsrec_queue *ovsrec_queue_table_first(const struct ovsrec_queue_table *);
5266
5267
#define OVSREC_QUEUE_TABLE_FOR_EACH(ROW, TABLE) \
5268
        for ((ROW) = ovsrec_queue_table_first(TABLE); \
5269
             (ROW); \
5270
             (ROW) = ovsrec_queue_next(ROW))
5271
#define OVSREC_QUEUE_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
5272
        for ((ROW) = ovsrec_queue_table_first(TABLE); \
5273
             (ROW) ? ((NEXT) = ovsrec_queue_next(ROW), 1) : 0; \
5274
             (ROW) = (NEXT))
5275
#define OVSREC_QUEUE_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
5276
        for (const struct ovsrec_queue * ROW__next = ((ROW) = ovsrec_queue_table_first(TABLE), NULL); \
5277
             (ROW) ? (ROW__next = ovsrec_queue_next(ROW), 1) : (ROW__next = NULL, 0); \
5278
             (ROW) = ROW__next)
5279
#define OVSREC_QUEUE_TABLE_FOR_EACH_SAFE(...)                                        \
5280
        OVERLOAD_SAFE_MACRO(OVSREC_QUEUE_TABLE_FOR_EACH_SAFE_LONG,                   \
5281
                            OVSREC_QUEUE_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
5282
5283
5284
const struct ovsrec_queue *ovsrec_queue_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
5285
const struct ovsrec_queue *ovsrec_queue_table_get_for_uuid(const struct ovsrec_queue_table *, const struct uuid *);
5286
const struct ovsrec_queue *ovsrec_queue_first(const struct ovsdb_idl *);
5287
const struct ovsrec_queue *ovsrec_queue_next(const struct ovsrec_queue *);
5288
#define OVSREC_QUEUE_FOR_EACH(ROW, IDL) \
5289
        for ((ROW) = ovsrec_queue_first(IDL); \
5290
             (ROW); \
5291
             (ROW) = ovsrec_queue_next(ROW))
5292
#define OVSREC_QUEUE_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
5293
        for ((ROW) = ovsrec_queue_first(IDL); \
5294
             (ROW) ? ((NEXT) = ovsrec_queue_next(ROW), 1) : 0; \
5295
             (ROW) = (NEXT))
5296
#define OVSREC_QUEUE_FOR_EACH_SAFE_SHORT(ROW, IDL) \
5297
        for (const struct ovsrec_queue * ROW__next = ((ROW) = ovsrec_queue_first(IDL), NULL); \
5298
             (ROW) ? (ROW__next = ovsrec_queue_next(ROW), 1) : (ROW__next = NULL, 0); \
5299
             (ROW) = ROW__next)
5300
#define OVSREC_QUEUE_FOR_EACH_SAFE(...)                                         \
5301
        OVERLOAD_SAFE_MACRO(OVSREC_QUEUE_FOR_EACH_SAFE_LONG,                    \
5302
                            OVSREC_QUEUE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
5303
5304
unsigned int ovsrec_queue_get_seqno(const struct ovsdb_idl *);
5305
unsigned int ovsrec_queue_row_get_seqno(const struct ovsrec_queue *row, enum ovsdb_idl_change change);
5306
const struct ovsrec_queue *ovsrec_queue_track_get_first(const struct ovsdb_idl *);
5307
const struct ovsrec_queue *ovsrec_queue_track_get_next(const struct ovsrec_queue *);
5308
#define OVSREC_QUEUE_FOR_EACH_TRACKED(ROW, IDL) \
5309
        for ((ROW) = ovsrec_queue_track_get_first(IDL); \
5310
             (ROW); \
5311
             (ROW) = ovsrec_queue_track_get_next(ROW))
5312
5313
const struct ovsrec_queue *ovsrec_queue_table_track_get_first(const struct ovsrec_queue_table *);
5314
#define OVSREC_QUEUE_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
5315
        for ((ROW) = ovsrec_queue_table_track_get_first(TABLE); \
5316
             (ROW); \
5317
             (ROW) = ovsrec_queue_track_get_next(ROW))
5318
5319
5320
/* Returns true if 'row' was inserted since the last change tracking reset.
5321
 *
5322
 * Note: This can only be used to test rows of tracked changes. This cannot be
5323
 * used to test if an uncommitted row that has been added locally is new or it
5324
 * may given unexpected results. */
5325
static inline bool ovsrec_queue_is_new(const struct ovsrec_queue *row)
5326
0
{
5327
0
    return ovsrec_queue_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
5328
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_queue_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_queue_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_queue_is_new
5329
5330
/* Returns true if 'row' was deleted since the last change tracking reset.
5331
 *
5332
 * Note: This can only be used to test rows of tracked changes. This cannot be
5333
 * used to test if an uncommitted row that has been added locally has been
5334
 * deleted or it may given unexpected results. */
5335
static inline bool ovsrec_queue_is_deleted(const struct ovsrec_queue *row)
5336
0
{
5337
0
    return ovsrec_queue_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
5338
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_queue_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_queue_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_queue_is_deleted
5339
5340
void ovsrec_queue_index_destroy_row(const struct ovsrec_queue *);
5341
5342
struct ovsrec_queue *ovsrec_queue_index_find(struct ovsdb_idl_index *, const struct ovsrec_queue *);
5343
5344
int ovsrec_queue_index_compare(
5345
    struct ovsdb_idl_index *, 
5346
    const struct ovsrec_queue *, 
5347
    const struct ovsrec_queue *);
5348
struct ovsdb_idl_cursor ovsrec_queue_cursor_first(struct ovsdb_idl_index *);
5349
struct ovsdb_idl_cursor ovsrec_queue_cursor_first_eq(
5350
    struct ovsdb_idl_index *, const struct ovsrec_queue *);
5351
struct ovsdb_idl_cursor ovsrec_queue_cursor_first_ge(
5352
    struct ovsdb_idl_index *, const struct ovsrec_queue *);
5353
5354
struct ovsrec_queue *ovsrec_queue_cursor_data(struct ovsdb_idl_cursor *);
5355
5356
#define OVSREC_QUEUE_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
5357
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_queue_cursor_first_ge(INDEX, FROM); \
5358
             (cursor__.position \
5359
              && ((ROW) = ovsrec_queue_cursor_data(&cursor__), \
5360
                  !(TO) || ovsrec_queue_index_compare(INDEX, ROW, TO) <= 0)); \
5361
             ovsdb_idl_cursor_next(&cursor__))
5362
#define OVSREC_QUEUE_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
5363
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_queue_cursor_first_eq(INDEX, KEY); \
5364
             (cursor__.position \
5365
              ? ((ROW) = ovsrec_queue_cursor_data(&cursor__), \
5366
                 ovsdb_idl_cursor_next_eq(&cursor__), \
5367
                 true) \
5368
              : false); \
5369
            )
5370
#define OVSREC_QUEUE_FOR_EACH_BYINDEX(ROW, INDEX) \
5371
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_queue_cursor_first(INDEX); \
5372
             (cursor__.position \
5373
              ? ((ROW) = ovsrec_queue_cursor_data(&cursor__), \
5374
                 ovsdb_idl_cursor_next(&cursor__), \
5375
                 true) \
5376
              : false); \
5377
            )
5378
5379
void ovsrec_queue_init(struct ovsrec_queue *);
5380
void ovsrec_queue_delete(const struct ovsrec_queue *);
5381
struct ovsrec_queue *ovsrec_queue_insert(struct ovsdb_idl_txn *);
5382
struct ovsrec_queue *ovsrec_queue_insert_persist_uuid(
5383
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
5384
5385
/* Returns true if the tracked column referenced by 'enum ovsrec_queue_column_id' of
5386
 * the row referenced by 'struct ovsrec_queue *' was updated since the last change
5387
 * tracking reset.
5388
 *
5389
 * Note: This can only be used to test rows of tracked changes. This cannot be
5390
 * used to test if an uncommitted row that has been added locally has been
5391
 * updated or it may given unexpected results. */
5392
bool ovsrec_queue_is_updated(const struct ovsrec_queue *, enum ovsrec_queue_column_id);
5393
5394
void ovsrec_queue_verify_dscp(const struct ovsrec_queue *);
5395
void ovsrec_queue_verify_external_ids(const struct ovsrec_queue *);
5396
void ovsrec_queue_verify_other_config(const struct ovsrec_queue *);
5397
5398
const struct ovsdb_datum *ovsrec_queue_get_dscp(const struct ovsrec_queue *, enum ovsdb_atomic_type key_type);
5399
const struct ovsdb_datum *ovsrec_queue_get_external_ids(const struct ovsrec_queue *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
5400
const struct ovsdb_datum *ovsrec_queue_get_other_config(const struct ovsrec_queue *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
5401
5402
void ovsrec_queue_set_dscp(const struct ovsrec_queue *, const int64_t *dscp, size_t n_dscp);
5403
void ovsrec_queue_set_external_ids(const struct ovsrec_queue *, const struct smap *);
5404
void ovsrec_queue_set_other_config(const struct ovsrec_queue *, const struct smap *);
5405
5406
void ovsrec_queue_update_dscp_addvalue(const struct ovsrec_queue *,  int64_t );
5407
void ovsrec_queue_update_dscp_delvalue(const struct ovsrec_queue *,  int64_t );
5408
void ovsrec_queue_add_clause_dscp(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *dscp, size_t n_dscp);
5409
unsigned int ovsrec_queue_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5410
void ovsrec_queue_update_external_ids_setkey(const struct ovsrec_queue *,  const char *, const char *);
5411
void ovsrec_queue_update_external_ids_delkey(const struct ovsrec_queue *,  const char *);
5412
void ovsrec_queue_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
5413
unsigned int ovsrec_queue_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5414
void ovsrec_queue_update_other_config_setkey(const struct ovsrec_queue *,  const char *, const char *);
5415
void ovsrec_queue_update_other_config_delkey(const struct ovsrec_queue *,  const char *);
5416
void ovsrec_queue_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
5417
unsigned int ovsrec_queue_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5418
5419
struct ovsrec_queue *ovsrec_queue_index_init_row(struct ovsdb_idl_index *);
5420
void ovsrec_queue_index_set_dscp(const struct ovsrec_queue *,
5421
const int64_t *dscp, size_t n_dscp);
5422
void ovsrec_queue_index_set_external_ids(const struct ovsrec_queue *,
5423
const struct smap *);
5424
void ovsrec_queue_index_set_other_config(const struct ovsrec_queue *,
5425
const struct smap *);
5426

5427
/* SSL table. */
5428
struct ovsrec_ssl {
5429
  struct ovsdb_idl_row header_;
5430
5431
  /* bootstrap_ca_cert column. */
5432
  bool bootstrap_ca_cert;
5433
5434
  /* ca_cert column. */
5435
  char *ca_cert;  /* Always nonnull. */
5436
5437
  /* certificate column. */
5438
  char *certificate;  /* Always nonnull. */
5439
5440
  /* external_ids column. */
5441
  struct smap external_ids;
5442
5443
  /* private_key column. */
5444
  char *private_key;  /* Always nonnull. */
5445
};
5446
5447
enum ovsrec_ssl_column_id {
5448
    OVSREC_SSL_COL_BOOTSTRAP_CA_CERT,
5449
    OVSREC_SSL_COL_CA_CERT,
5450
    OVSREC_SSL_COL_CERTIFICATE,
5451
    OVSREC_SSL_COL_EXTERNAL_IDS,
5452
    OVSREC_SSL_COL_PRIVATE_KEY,
5453
    OVSREC_SSL_N_COLUMNS
5454
};
5455
5456
0
#define ovsrec_ssl_col_bootstrap_ca_cert (ovsrec_ssl_columns[OVSREC_SSL_COL_BOOTSTRAP_CA_CERT])
5457
0
#define ovsrec_ssl_col_ca_cert (ovsrec_ssl_columns[OVSREC_SSL_COL_CA_CERT])
5458
0
#define ovsrec_ssl_col_certificate (ovsrec_ssl_columns[OVSREC_SSL_COL_CERTIFICATE])
5459
0
#define ovsrec_ssl_col_external_ids (ovsrec_ssl_columns[OVSREC_SSL_COL_EXTERNAL_IDS])
5460
0
#define ovsrec_ssl_col_private_key (ovsrec_ssl_columns[OVSREC_SSL_COL_PRIVATE_KEY])
5461
5462
extern struct ovsdb_idl_column ovsrec_ssl_columns[OVSREC_SSL_N_COLUMNS];
5463
bool ovsrec_server_has_ssl_table_col_bootstrap_ca_cert(const struct ovsdb_idl *); 
5464
const struct ovsdb_type *ovsrec_ssl_bootstrap_ca_cert_server_type(const struct ovsdb_idl *); 
5465
bool ovsrec_server_has_ssl_table_col_ca_cert(const struct ovsdb_idl *); 
5466
const struct ovsdb_type *ovsrec_ssl_ca_cert_server_type(const struct ovsdb_idl *); 
5467
bool ovsrec_server_has_ssl_table_col_certificate(const struct ovsdb_idl *); 
5468
const struct ovsdb_type *ovsrec_ssl_certificate_server_type(const struct ovsdb_idl *); 
5469
bool ovsrec_server_has_ssl_table_col_external_ids(const struct ovsdb_idl *); 
5470
const struct ovsdb_type *ovsrec_ssl_external_ids_server_type(const struct ovsdb_idl *); 
5471
bool ovsrec_server_has_ssl_table_col_private_key(const struct ovsdb_idl *); 
5472
const struct ovsdb_type *ovsrec_ssl_private_key_server_type(const struct ovsdb_idl *); 
5473
5474
bool ovsrec_server_has_ssl_table(const struct ovsdb_idl *);
5475
const struct ovsrec_ssl_table *ovsrec_ssl_table_get(const struct ovsdb_idl *);
5476
const struct ovsrec_ssl *ovsrec_ssl_table_first(const struct ovsrec_ssl_table *);
5477
5478
#define OVSREC_SSL_TABLE_FOR_EACH(ROW, TABLE) \
5479
        for ((ROW) = ovsrec_ssl_table_first(TABLE); \
5480
             (ROW); \
5481
             (ROW) = ovsrec_ssl_next(ROW))
5482
#define OVSREC_SSL_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
5483
        for ((ROW) = ovsrec_ssl_table_first(TABLE); \
5484
             (ROW) ? ((NEXT) = ovsrec_ssl_next(ROW), 1) : 0; \
5485
             (ROW) = (NEXT))
5486
#define OVSREC_SSL_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
5487
        for (const struct ovsrec_ssl * ROW__next = ((ROW) = ovsrec_ssl_table_first(TABLE), NULL); \
5488
             (ROW) ? (ROW__next = ovsrec_ssl_next(ROW), 1) : (ROW__next = NULL, 0); \
5489
             (ROW) = ROW__next)
5490
#define OVSREC_SSL_TABLE_FOR_EACH_SAFE(...)                                        \
5491
        OVERLOAD_SAFE_MACRO(OVSREC_SSL_TABLE_FOR_EACH_SAFE_LONG,                   \
5492
                            OVSREC_SSL_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
5493
5494
5495
const struct ovsrec_ssl *ovsrec_ssl_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
5496
const struct ovsrec_ssl *ovsrec_ssl_table_get_for_uuid(const struct ovsrec_ssl_table *, const struct uuid *);
5497
const struct ovsrec_ssl *ovsrec_ssl_first(const struct ovsdb_idl *);
5498
const struct ovsrec_ssl *ovsrec_ssl_next(const struct ovsrec_ssl *);
5499
#define OVSREC_SSL_FOR_EACH(ROW, IDL) \
5500
        for ((ROW) = ovsrec_ssl_first(IDL); \
5501
             (ROW); \
5502
             (ROW) = ovsrec_ssl_next(ROW))
5503
#define OVSREC_SSL_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
5504
        for ((ROW) = ovsrec_ssl_first(IDL); \
5505
             (ROW) ? ((NEXT) = ovsrec_ssl_next(ROW), 1) : 0; \
5506
             (ROW) = (NEXT))
5507
#define OVSREC_SSL_FOR_EACH_SAFE_SHORT(ROW, IDL) \
5508
        for (const struct ovsrec_ssl * ROW__next = ((ROW) = ovsrec_ssl_first(IDL), NULL); \
5509
             (ROW) ? (ROW__next = ovsrec_ssl_next(ROW), 1) : (ROW__next = NULL, 0); \
5510
             (ROW) = ROW__next)
5511
#define OVSREC_SSL_FOR_EACH_SAFE(...)                                         \
5512
        OVERLOAD_SAFE_MACRO(OVSREC_SSL_FOR_EACH_SAFE_LONG,                    \
5513
                            OVSREC_SSL_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
5514
5515
unsigned int ovsrec_ssl_get_seqno(const struct ovsdb_idl *);
5516
unsigned int ovsrec_ssl_row_get_seqno(const struct ovsrec_ssl *row, enum ovsdb_idl_change change);
5517
const struct ovsrec_ssl *ovsrec_ssl_track_get_first(const struct ovsdb_idl *);
5518
const struct ovsrec_ssl *ovsrec_ssl_track_get_next(const struct ovsrec_ssl *);
5519
#define OVSREC_SSL_FOR_EACH_TRACKED(ROW, IDL) \
5520
        for ((ROW) = ovsrec_ssl_track_get_first(IDL); \
5521
             (ROW); \
5522
             (ROW) = ovsrec_ssl_track_get_next(ROW))
5523
5524
const struct ovsrec_ssl *ovsrec_ssl_table_track_get_first(const struct ovsrec_ssl_table *);
5525
#define OVSREC_SSL_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
5526
        for ((ROW) = ovsrec_ssl_table_track_get_first(TABLE); \
5527
             (ROW); \
5528
             (ROW) = ovsrec_ssl_track_get_next(ROW))
5529
5530
5531
/* Returns true if 'row' was inserted since the last change tracking reset.
5532
 *
5533
 * Note: This can only be used to test rows of tracked changes. This cannot be
5534
 * used to test if an uncommitted row that has been added locally is new or it
5535
 * may given unexpected results. */
5536
static inline bool ovsrec_ssl_is_new(const struct ovsrec_ssl *row)
5537
0
{
5538
0
    return ovsrec_ssl_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
5539
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_ssl_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_ssl_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_ssl_is_new
5540
5541
/* Returns true if 'row' was deleted since the last change tracking reset.
5542
 *
5543
 * Note: This can only be used to test rows of tracked changes. This cannot be
5544
 * used to test if an uncommitted row that has been added locally has been
5545
 * deleted or it may given unexpected results. */
5546
static inline bool ovsrec_ssl_is_deleted(const struct ovsrec_ssl *row)
5547
0
{
5548
0
    return ovsrec_ssl_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
5549
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_ssl_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_ssl_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_ssl_is_deleted
5550
5551
void ovsrec_ssl_index_destroy_row(const struct ovsrec_ssl *);
5552
5553
struct ovsrec_ssl *ovsrec_ssl_index_find(struct ovsdb_idl_index *, const struct ovsrec_ssl *);
5554
5555
int ovsrec_ssl_index_compare(
5556
    struct ovsdb_idl_index *, 
5557
    const struct ovsrec_ssl *, 
5558
    const struct ovsrec_ssl *);
5559
struct ovsdb_idl_cursor ovsrec_ssl_cursor_first(struct ovsdb_idl_index *);
5560
struct ovsdb_idl_cursor ovsrec_ssl_cursor_first_eq(
5561
    struct ovsdb_idl_index *, const struct ovsrec_ssl *);
5562
struct ovsdb_idl_cursor ovsrec_ssl_cursor_first_ge(
5563
    struct ovsdb_idl_index *, const struct ovsrec_ssl *);
5564
5565
struct ovsrec_ssl *ovsrec_ssl_cursor_data(struct ovsdb_idl_cursor *);
5566
5567
#define OVSREC_SSL_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
5568
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ssl_cursor_first_ge(INDEX, FROM); \
5569
             (cursor__.position \
5570
              && ((ROW) = ovsrec_ssl_cursor_data(&cursor__), \
5571
                  !(TO) || ovsrec_ssl_index_compare(INDEX, ROW, TO) <= 0)); \
5572
             ovsdb_idl_cursor_next(&cursor__))
5573
#define OVSREC_SSL_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
5574
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ssl_cursor_first_eq(INDEX, KEY); \
5575
             (cursor__.position \
5576
              ? ((ROW) = ovsrec_ssl_cursor_data(&cursor__), \
5577
                 ovsdb_idl_cursor_next_eq(&cursor__), \
5578
                 true) \
5579
              : false); \
5580
            )
5581
#define OVSREC_SSL_FOR_EACH_BYINDEX(ROW, INDEX) \
5582
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_ssl_cursor_first(INDEX); \
5583
             (cursor__.position \
5584
              ? ((ROW) = ovsrec_ssl_cursor_data(&cursor__), \
5585
                 ovsdb_idl_cursor_next(&cursor__), \
5586
                 true) \
5587
              : false); \
5588
            )
5589
5590
void ovsrec_ssl_init(struct ovsrec_ssl *);
5591
void ovsrec_ssl_delete(const struct ovsrec_ssl *);
5592
struct ovsrec_ssl *ovsrec_ssl_insert(struct ovsdb_idl_txn *);
5593
struct ovsrec_ssl *ovsrec_ssl_insert_persist_uuid(
5594
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
5595
5596
/* Returns true if the tracked column referenced by 'enum ovsrec_ssl_column_id' of
5597
 * the row referenced by 'struct ovsrec_ssl *' was updated since the last change
5598
 * tracking reset.
5599
 *
5600
 * Note: This can only be used to test rows of tracked changes. This cannot be
5601
 * used to test if an uncommitted row that has been added locally has been
5602
 * updated or it may given unexpected results. */
5603
bool ovsrec_ssl_is_updated(const struct ovsrec_ssl *, enum ovsrec_ssl_column_id);
5604
5605
void ovsrec_ssl_verify_bootstrap_ca_cert(const struct ovsrec_ssl *);
5606
void ovsrec_ssl_verify_ca_cert(const struct ovsrec_ssl *);
5607
void ovsrec_ssl_verify_certificate(const struct ovsrec_ssl *);
5608
void ovsrec_ssl_verify_external_ids(const struct ovsrec_ssl *);
5609
void ovsrec_ssl_verify_private_key(const struct ovsrec_ssl *);
5610
5611
const struct ovsdb_datum *ovsrec_ssl_get_bootstrap_ca_cert(const struct ovsrec_ssl *, enum ovsdb_atomic_type key_type);
5612
const struct ovsdb_datum *ovsrec_ssl_get_ca_cert(const struct ovsrec_ssl *, enum ovsdb_atomic_type key_type);
5613
const struct ovsdb_datum *ovsrec_ssl_get_certificate(const struct ovsrec_ssl *, enum ovsdb_atomic_type key_type);
5614
const struct ovsdb_datum *ovsrec_ssl_get_external_ids(const struct ovsrec_ssl *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
5615
const struct ovsdb_datum *ovsrec_ssl_get_private_key(const struct ovsrec_ssl *, enum ovsdb_atomic_type key_type);
5616
5617
void ovsrec_ssl_set_bootstrap_ca_cert(const struct ovsrec_ssl *, bool bootstrap_ca_cert);
5618
void ovsrec_ssl_set_ca_cert(const struct ovsrec_ssl *, const char *ca_cert);
5619
void ovsrec_ssl_set_certificate(const struct ovsrec_ssl *, const char *certificate);
5620
void ovsrec_ssl_set_external_ids(const struct ovsrec_ssl *, const struct smap *);
5621
void ovsrec_ssl_set_private_key(const struct ovsrec_ssl *, const char *private_key);
5622
5623
void ovsrec_ssl_add_clause_bootstrap_ca_cert(struct ovsdb_idl_condition *, enum ovsdb_function function, bool bootstrap_ca_cert);
5624
unsigned int ovsrec_ssl_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5625
void ovsrec_ssl_add_clause_ca_cert(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *ca_cert);
5626
unsigned int ovsrec_ssl_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5627
void ovsrec_ssl_add_clause_certificate(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *certificate);
5628
unsigned int ovsrec_ssl_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5629
void ovsrec_ssl_update_external_ids_setkey(const struct ovsrec_ssl *,  const char *, const char *);
5630
void ovsrec_ssl_update_external_ids_delkey(const struct ovsrec_ssl *,  const char *);
5631
void ovsrec_ssl_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
5632
unsigned int ovsrec_ssl_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5633
void ovsrec_ssl_add_clause_private_key(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *private_key);
5634
unsigned int ovsrec_ssl_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5635
5636
struct ovsrec_ssl *ovsrec_ssl_index_init_row(struct ovsdb_idl_index *);
5637
void ovsrec_ssl_index_set_bootstrap_ca_cert(const struct ovsrec_ssl *,
5638
bool bootstrap_ca_cert);
5639
void ovsrec_ssl_index_set_ca_cert(const struct ovsrec_ssl *,
5640
const char *ca_cert);
5641
void ovsrec_ssl_index_set_certificate(const struct ovsrec_ssl *,
5642
const char *certificate);
5643
void ovsrec_ssl_index_set_external_ids(const struct ovsrec_ssl *,
5644
const struct smap *);
5645
void ovsrec_ssl_index_set_private_key(const struct ovsrec_ssl *,
5646
const char *private_key);
5647

5648
/* sFlow table. */
5649
struct ovsrec_sflow {
5650
  struct ovsdb_idl_row header_;
5651
5652
  /* agent column. */
5653
  char *agent;
5654
5655
  /* external_ids column. */
5656
  struct smap external_ids;
5657
5658
  /* header column. */
5659
  int64_t *header;
5660
  size_t n_header;
5661
5662
  /* polling column. */
5663
  int64_t *polling;
5664
  size_t n_polling;
5665
5666
  /* sampling column. */
5667
  int64_t *sampling;
5668
  size_t n_sampling;
5669
5670
  /* targets column. */
5671
  char **targets;
5672
  size_t n_targets;
5673
};
5674
5675
enum ovsrec_sflow_column_id {
5676
    OVSREC_SFLOW_COL_AGENT,
5677
    OVSREC_SFLOW_COL_EXTERNAL_IDS,
5678
    OVSREC_SFLOW_COL_HEADER,
5679
    OVSREC_SFLOW_COL_POLLING,
5680
    OVSREC_SFLOW_COL_SAMPLING,
5681
    OVSREC_SFLOW_COL_TARGETS,
5682
    OVSREC_SFLOW_N_COLUMNS
5683
};
5684
5685
0
#define ovsrec_sflow_col_agent (ovsrec_sflow_columns[OVSREC_SFLOW_COL_AGENT])
5686
0
#define ovsrec_sflow_col_external_ids (ovsrec_sflow_columns[OVSREC_SFLOW_COL_EXTERNAL_IDS])
5687
0
#define ovsrec_sflow_col_header (ovsrec_sflow_columns[OVSREC_SFLOW_COL_HEADER])
5688
0
#define ovsrec_sflow_col_polling (ovsrec_sflow_columns[OVSREC_SFLOW_COL_POLLING])
5689
0
#define ovsrec_sflow_col_sampling (ovsrec_sflow_columns[OVSREC_SFLOW_COL_SAMPLING])
5690
0
#define ovsrec_sflow_col_targets (ovsrec_sflow_columns[OVSREC_SFLOW_COL_TARGETS])
5691
5692
extern struct ovsdb_idl_column ovsrec_sflow_columns[OVSREC_SFLOW_N_COLUMNS];
5693
bool ovsrec_server_has_sflow_table_col_agent(const struct ovsdb_idl *); 
5694
const struct ovsdb_type *ovsrec_sflow_agent_server_type(const struct ovsdb_idl *); 
5695
bool ovsrec_server_has_sflow_table_col_external_ids(const struct ovsdb_idl *); 
5696
const struct ovsdb_type *ovsrec_sflow_external_ids_server_type(const struct ovsdb_idl *); 
5697
bool ovsrec_server_has_sflow_table_col_header(const struct ovsdb_idl *); 
5698
const struct ovsdb_type *ovsrec_sflow_header_server_type(const struct ovsdb_idl *); 
5699
bool ovsrec_server_has_sflow_table_col_polling(const struct ovsdb_idl *); 
5700
const struct ovsdb_type *ovsrec_sflow_polling_server_type(const struct ovsdb_idl *); 
5701
bool ovsrec_server_has_sflow_table_col_sampling(const struct ovsdb_idl *); 
5702
const struct ovsdb_type *ovsrec_sflow_sampling_server_type(const struct ovsdb_idl *); 
5703
bool ovsrec_server_has_sflow_table_col_targets(const struct ovsdb_idl *); 
5704
const struct ovsdb_type *ovsrec_sflow_targets_server_type(const struct ovsdb_idl *); 
5705
5706
bool ovsrec_server_has_sflow_table(const struct ovsdb_idl *);
5707
const struct ovsrec_sflow_table *ovsrec_sflow_table_get(const struct ovsdb_idl *);
5708
const struct ovsrec_sflow *ovsrec_sflow_table_first(const struct ovsrec_sflow_table *);
5709
5710
#define OVSREC_SFLOW_TABLE_FOR_EACH(ROW, TABLE) \
5711
        for ((ROW) = ovsrec_sflow_table_first(TABLE); \
5712
             (ROW); \
5713
             (ROW) = ovsrec_sflow_next(ROW))
5714
#define OVSREC_SFLOW_TABLE_FOR_EACH_SAFE_LONG(ROW, NEXT, TABLE) \
5715
        for ((ROW) = ovsrec_sflow_table_first(TABLE); \
5716
             (ROW) ? ((NEXT) = ovsrec_sflow_next(ROW), 1) : 0; \
5717
             (ROW) = (NEXT))
5718
#define OVSREC_SFLOW_TABLE_FOR_EACH_SAFE_SHORT(ROW, TABLE) \
5719
        for (const struct ovsrec_sflow * ROW__next = ((ROW) = ovsrec_sflow_table_first(TABLE), NULL); \
5720
             (ROW) ? (ROW__next = ovsrec_sflow_next(ROW), 1) : (ROW__next = NULL, 0); \
5721
             (ROW) = ROW__next)
5722
#define OVSREC_SFLOW_TABLE_FOR_EACH_SAFE(...)                                        \
5723
        OVERLOAD_SAFE_MACRO(OVSREC_SFLOW_TABLE_FOR_EACH_SAFE_LONG,                   \
5724
                            OVSREC_SFLOW_TABLE_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
5725
5726
5727
const struct ovsrec_sflow *ovsrec_sflow_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
5728
const struct ovsrec_sflow *ovsrec_sflow_table_get_for_uuid(const struct ovsrec_sflow_table *, const struct uuid *);
5729
const struct ovsrec_sflow *ovsrec_sflow_first(const struct ovsdb_idl *);
5730
const struct ovsrec_sflow *ovsrec_sflow_next(const struct ovsrec_sflow *);
5731
#define OVSREC_SFLOW_FOR_EACH(ROW, IDL) \
5732
        for ((ROW) = ovsrec_sflow_first(IDL); \
5733
             (ROW); \
5734
             (ROW) = ovsrec_sflow_next(ROW))
5735
#define OVSREC_SFLOW_FOR_EACH_SAFE_LONG(ROW, NEXT, IDL) \
5736
        for ((ROW) = ovsrec_sflow_first(IDL); \
5737
             (ROW) ? ((NEXT) = ovsrec_sflow_next(ROW), 1) : 0; \
5738
             (ROW) = (NEXT))
5739
#define OVSREC_SFLOW_FOR_EACH_SAFE_SHORT(ROW, IDL) \
5740
        for (const struct ovsrec_sflow * ROW__next = ((ROW) = ovsrec_sflow_first(IDL), NULL); \
5741
             (ROW) ? (ROW__next = ovsrec_sflow_next(ROW), 1) : (ROW__next = NULL, 0); \
5742
             (ROW) = ROW__next)
5743
#define OVSREC_SFLOW_FOR_EACH_SAFE(...)                                         \
5744
        OVERLOAD_SAFE_MACRO(OVSREC_SFLOW_FOR_EACH_SAFE_LONG,                    \
5745
                            OVSREC_SFLOW_FOR_EACH_SAFE_SHORT, 3, __VA_ARGS__)
5746
5747
unsigned int ovsrec_sflow_get_seqno(const struct ovsdb_idl *);
5748
unsigned int ovsrec_sflow_row_get_seqno(const struct ovsrec_sflow *row, enum ovsdb_idl_change change);
5749
const struct ovsrec_sflow *ovsrec_sflow_track_get_first(const struct ovsdb_idl *);
5750
const struct ovsrec_sflow *ovsrec_sflow_track_get_next(const struct ovsrec_sflow *);
5751
#define OVSREC_SFLOW_FOR_EACH_TRACKED(ROW, IDL) \
5752
        for ((ROW) = ovsrec_sflow_track_get_first(IDL); \
5753
             (ROW); \
5754
             (ROW) = ovsrec_sflow_track_get_next(ROW))
5755
5756
const struct ovsrec_sflow *ovsrec_sflow_table_track_get_first(const struct ovsrec_sflow_table *);
5757
#define OVSREC_SFLOW_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
5758
        for ((ROW) = ovsrec_sflow_table_track_get_first(TABLE); \
5759
             (ROW); \
5760
             (ROW) = ovsrec_sflow_track_get_next(ROW))
5761
5762
5763
/* Returns true if 'row' was inserted since the last change tracking reset.
5764
 *
5765
 * Note: This can only be used to test rows of tracked changes. This cannot be
5766
 * used to test if an uncommitted row that has been added locally is new or it
5767
 * may given unexpected results. */
5768
static inline bool ovsrec_sflow_is_new(const struct ovsrec_sflow *row)
5769
0
{
5770
0
    return ovsrec_sflow_row_get_seqno(row, OVSDB_IDL_CHANGE_INSERT) > 0;
5771
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_sflow_is_new
Unexecuted instantiation: dpdk-stub.c:ovsrec_sflow_is_new
Unexecuted instantiation: vswitch-idl.c:ovsrec_sflow_is_new
5772
5773
/* Returns true if 'row' was deleted since the last change tracking reset.
5774
 *
5775
 * Note: This can only be used to test rows of tracked changes. This cannot be
5776
 * used to test if an uncommitted row that has been added locally has been
5777
 * deleted or it may given unexpected results. */
5778
static inline bool ovsrec_sflow_is_deleted(const struct ovsrec_sflow *row)
5779
0
{
5780
0
    return ovsrec_sflow_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
5781
0
}
Unexecuted instantiation: userspace-tso.c:ovsrec_sflow_is_deleted
Unexecuted instantiation: dpdk-stub.c:ovsrec_sflow_is_deleted
Unexecuted instantiation: vswitch-idl.c:ovsrec_sflow_is_deleted
5782
5783
void ovsrec_sflow_index_destroy_row(const struct ovsrec_sflow *);
5784
5785
struct ovsrec_sflow *ovsrec_sflow_index_find(struct ovsdb_idl_index *, const struct ovsrec_sflow *);
5786
5787
int ovsrec_sflow_index_compare(
5788
    struct ovsdb_idl_index *, 
5789
    const struct ovsrec_sflow *, 
5790
    const struct ovsrec_sflow *);
5791
struct ovsdb_idl_cursor ovsrec_sflow_cursor_first(struct ovsdb_idl_index *);
5792
struct ovsdb_idl_cursor ovsrec_sflow_cursor_first_eq(
5793
    struct ovsdb_idl_index *, const struct ovsrec_sflow *);
5794
struct ovsdb_idl_cursor ovsrec_sflow_cursor_first_ge(
5795
    struct ovsdb_idl_index *, const struct ovsrec_sflow *);
5796
5797
struct ovsrec_sflow *ovsrec_sflow_cursor_data(struct ovsdb_idl_cursor *);
5798
5799
#define OVSREC_SFLOW_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
5800
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_sflow_cursor_first_ge(INDEX, FROM); \
5801
             (cursor__.position \
5802
              && ((ROW) = ovsrec_sflow_cursor_data(&cursor__), \
5803
                  !(TO) || ovsrec_sflow_index_compare(INDEX, ROW, TO) <= 0)); \
5804
             ovsdb_idl_cursor_next(&cursor__))
5805
#define OVSREC_SFLOW_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
5806
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_sflow_cursor_first_eq(INDEX, KEY); \
5807
             (cursor__.position \
5808
              ? ((ROW) = ovsrec_sflow_cursor_data(&cursor__), \
5809
                 ovsdb_idl_cursor_next_eq(&cursor__), \
5810
                 true) \
5811
              : false); \
5812
            )
5813
#define OVSREC_SFLOW_FOR_EACH_BYINDEX(ROW, INDEX) \
5814
        for (struct ovsdb_idl_cursor cursor__ = ovsrec_sflow_cursor_first(INDEX); \
5815
             (cursor__.position \
5816
              ? ((ROW) = ovsrec_sflow_cursor_data(&cursor__), \
5817
                 ovsdb_idl_cursor_next(&cursor__), \
5818
                 true) \
5819
              : false); \
5820
            )
5821
5822
void ovsrec_sflow_init(struct ovsrec_sflow *);
5823
void ovsrec_sflow_delete(const struct ovsrec_sflow *);
5824
struct ovsrec_sflow *ovsrec_sflow_insert(struct ovsdb_idl_txn *);
5825
struct ovsrec_sflow *ovsrec_sflow_insert_persist_uuid(
5826
    struct ovsdb_idl_txn *txn, const struct uuid *uuid);
5827
5828
/* Returns true if the tracked column referenced by 'enum ovsrec_sflow_column_id' of
5829
 * the row referenced by 'struct ovsrec_sflow *' was updated since the last change
5830
 * tracking reset.
5831
 *
5832
 * Note: This can only be used to test rows of tracked changes. This cannot be
5833
 * used to test if an uncommitted row that has been added locally has been
5834
 * updated or it may given unexpected results. */
5835
bool ovsrec_sflow_is_updated(const struct ovsrec_sflow *, enum ovsrec_sflow_column_id);
5836
5837
void ovsrec_sflow_verify_agent(const struct ovsrec_sflow *);
5838
void ovsrec_sflow_verify_external_ids(const struct ovsrec_sflow *);
5839
void ovsrec_sflow_verify_header(const struct ovsrec_sflow *);
5840
void ovsrec_sflow_verify_polling(const struct ovsrec_sflow *);
5841
void ovsrec_sflow_verify_sampling(const struct ovsrec_sflow *);
5842
void ovsrec_sflow_verify_targets(const struct ovsrec_sflow *);
5843
5844
const struct ovsdb_datum *ovsrec_sflow_get_agent(const struct ovsrec_sflow *, enum ovsdb_atomic_type key_type);
5845
const struct ovsdb_datum *ovsrec_sflow_get_external_ids(const struct ovsrec_sflow *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
5846
const struct ovsdb_datum *ovsrec_sflow_get_header(const struct ovsrec_sflow *, enum ovsdb_atomic_type key_type);
5847
const struct ovsdb_datum *ovsrec_sflow_get_polling(const struct ovsrec_sflow *, enum ovsdb_atomic_type key_type);
5848
const struct ovsdb_datum *ovsrec_sflow_get_sampling(const struct ovsrec_sflow *, enum ovsdb_atomic_type key_type);
5849
const struct ovsdb_datum *ovsrec_sflow_get_targets(const struct ovsrec_sflow *, enum ovsdb_atomic_type key_type);
5850
5851
void ovsrec_sflow_set_agent(const struct ovsrec_sflow *, const char *agent);
5852
void ovsrec_sflow_set_external_ids(const struct ovsrec_sflow *, const struct smap *);
5853
void ovsrec_sflow_set_header(const struct ovsrec_sflow *, const int64_t *header, size_t n_header);
5854
void ovsrec_sflow_set_polling(const struct ovsrec_sflow *, const int64_t *polling, size_t n_polling);
5855
void ovsrec_sflow_set_sampling(const struct ovsrec_sflow *, const int64_t *sampling, size_t n_sampling);
5856
void ovsrec_sflow_set_targets(const struct ovsrec_sflow *, const char **targets, size_t n_targets);
5857
5858
void ovsrec_sflow_update_agent_addvalue(const struct ovsrec_sflow *,  const char *);
5859
void ovsrec_sflow_update_agent_delvalue(const struct ovsrec_sflow *,  const char *);
5860
void ovsrec_sflow_add_clause_agent(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *agent);
5861
unsigned int ovsrec_sflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5862
void ovsrec_sflow_update_external_ids_setkey(const struct ovsrec_sflow *,  const char *, const char *);
5863
void ovsrec_sflow_update_external_ids_delkey(const struct ovsrec_sflow *,  const char *);
5864
void ovsrec_sflow_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
5865
unsigned int ovsrec_sflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5866
void ovsrec_sflow_update_header_addvalue(const struct ovsrec_sflow *,  int64_t );
5867
void ovsrec_sflow_update_header_delvalue(const struct ovsrec_sflow *,  int64_t );
5868
void ovsrec_sflow_add_clause_header(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *header, size_t n_header);
5869
unsigned int ovsrec_sflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5870
void ovsrec_sflow_update_polling_addvalue(const struct ovsrec_sflow *,  int64_t );
5871
void ovsrec_sflow_update_polling_delvalue(const struct ovsrec_sflow *,  int64_t );
5872
void ovsrec_sflow_add_clause_polling(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *polling, size_t n_polling);
5873
unsigned int ovsrec_sflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5874
void ovsrec_sflow_update_sampling_addvalue(const struct ovsrec_sflow *,  int64_t );
5875
void ovsrec_sflow_update_sampling_delvalue(const struct ovsrec_sflow *,  int64_t );
5876
void ovsrec_sflow_add_clause_sampling(struct ovsdb_idl_condition *, enum ovsdb_function function, const int64_t *sampling, size_t n_sampling);
5877
unsigned int ovsrec_sflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5878
void ovsrec_sflow_update_targets_addvalue(const struct ovsrec_sflow *,  const char *);
5879
void ovsrec_sflow_update_targets_delvalue(const struct ovsrec_sflow *,  const char *);
5880
void ovsrec_sflow_add_clause_targets(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **targets, size_t n_targets);
5881
unsigned int ovsrec_sflow_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
5882
5883
struct ovsrec_sflow *ovsrec_sflow_index_init_row(struct ovsdb_idl_index *);
5884
void ovsrec_sflow_index_set_agent(const struct ovsrec_sflow *,
5885
const char *agent);
5886
void ovsrec_sflow_index_set_external_ids(const struct ovsrec_sflow *,
5887
const struct smap *);
5888
void ovsrec_sflow_index_set_header(const struct ovsrec_sflow *,
5889
const int64_t *header, size_t n_header);
5890
void ovsrec_sflow_index_set_polling(const struct ovsrec_sflow *,
5891
const int64_t *polling, size_t n_polling);
5892
void ovsrec_sflow_index_set_sampling(const struct ovsrec_sflow *,
5893
const int64_t *sampling, size_t n_sampling);
5894
void ovsrec_sflow_index_set_targets(const struct ovsrec_sflow *,
5895
const char **targets, size_t n_targets);
5896
5897
enum ovsrec_table_id {
5898
    OVSREC_TABLE_AUTOATTACH,
5899
    OVSREC_TABLE_BRIDGE,
5900
    OVSREC_TABLE_CT_TIMEOUT_POLICY,
5901
    OVSREC_TABLE_CT_ZONE,
5902
    OVSREC_TABLE_CONTROLLER,
5903
    OVSREC_TABLE_DATAPATH,
5904
    OVSREC_TABLE_FLOW_SAMPLE_COLLECTOR_SET,
5905
    OVSREC_TABLE_FLOW_TABLE,
5906
    OVSREC_TABLE_IPFIX,
5907
    OVSREC_TABLE_INTERFACE,
5908
    OVSREC_TABLE_MANAGER,
5909
    OVSREC_TABLE_MIRROR,
5910
    OVSREC_TABLE_NETFLOW,
5911
    OVSREC_TABLE_OPEN_VSWITCH,
5912
    OVSREC_TABLE_PORT,
5913
    OVSREC_TABLE_QOS,
5914
    OVSREC_TABLE_QUEUE,
5915
    OVSREC_TABLE_SSL,
5916
    OVSREC_TABLE_SFLOW,
5917
    OVSREC_N_TABLES
5918
};
5919
5920
0
#define ovsrec_table_autoattach (ovsrec_table_classes[OVSREC_TABLE_AUTOATTACH])
5921
0
#define ovsrec_table_bridge (ovsrec_table_classes[OVSREC_TABLE_BRIDGE])
5922
0
#define ovsrec_table_ct_timeout_policy (ovsrec_table_classes[OVSREC_TABLE_CT_TIMEOUT_POLICY])
5923
0
#define ovsrec_table_ct_zone (ovsrec_table_classes[OVSREC_TABLE_CT_ZONE])
5924
0
#define ovsrec_table_controller (ovsrec_table_classes[OVSREC_TABLE_CONTROLLER])
5925
0
#define ovsrec_table_datapath (ovsrec_table_classes[OVSREC_TABLE_DATAPATH])
5926
0
#define ovsrec_table_flow_sample_collector_set (ovsrec_table_classes[OVSREC_TABLE_FLOW_SAMPLE_COLLECTOR_SET])
5927
0
#define ovsrec_table_flow_table (ovsrec_table_classes[OVSREC_TABLE_FLOW_TABLE])
5928
0
#define ovsrec_table_ipfix (ovsrec_table_classes[OVSREC_TABLE_IPFIX])
5929
0
#define ovsrec_table_interface (ovsrec_table_classes[OVSREC_TABLE_INTERFACE])
5930
0
#define ovsrec_table_manager (ovsrec_table_classes[OVSREC_TABLE_MANAGER])
5931
0
#define ovsrec_table_mirror (ovsrec_table_classes[OVSREC_TABLE_MIRROR])
5932
0
#define ovsrec_table_netflow (ovsrec_table_classes[OVSREC_TABLE_NETFLOW])
5933
0
#define ovsrec_table_open_vswitch (ovsrec_table_classes[OVSREC_TABLE_OPEN_VSWITCH])
5934
0
#define ovsrec_table_port (ovsrec_table_classes[OVSREC_TABLE_PORT])
5935
0
#define ovsrec_table_qos (ovsrec_table_classes[OVSREC_TABLE_QOS])
5936
0
#define ovsrec_table_queue (ovsrec_table_classes[OVSREC_TABLE_QUEUE])
5937
0
#define ovsrec_table_ssl (ovsrec_table_classes[OVSREC_TABLE_SSL])
5938
0
#define ovsrec_table_sflow (ovsrec_table_classes[OVSREC_TABLE_SFLOW])
5939
5940
extern struct ovsdb_idl_table_class ovsrec_table_classes[OVSREC_N_TABLES];
5941
5942
extern struct ovsdb_idl_class ovsrec_idl_class;
5943
5944
const char * ovsrec_get_db_version(void);
5945
5946
#ifdef  __cplusplus
5947
}
5948
#endif
5949
5950
#endif /* OVSREC_IDL_HEADER */