-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathovsdb2.c.txt
4298 lines (3748 loc) · 248 KB
/
ovsdb2.c.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/* Generated automatically -- do not modify! -*- buffer-read-only: t -*- */
#ifndef OVSREC_IDL_HEADER
#define OVSREC_IDL_HEADER 1
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include "ovsdb-data.h"
#include "ovsdb-idl-provider.h"
#include "smap.h"
#include "uuid.h"
#ifdef __cplusplus
extern "C" {
#endif
/* AutoAttach table. */
struct ovsrec_autoattach {
struct ovsdb_idl_row header_;
/* mappings column. */
int64_t *key_mappings;
int64_t *value_mappings;
size_t n_mappings;
/* system_description column. */
char *system_description; /* Always nonnull. */
/* system_name column. */
char *system_name; /* Always nonnull. */
};
enum ovsrec_autoattach_column_id {
OVSREC_AUTOATTACH_COL_MAPPINGS,
OVSREC_AUTOATTACH_COL_SYSTEM_DESCRIPTION,
OVSREC_AUTOATTACH_COL_SYSTEM_NAME,
OVSREC_AUTOATTACH_N_COLUMNS
};
#define ovsrec_autoattach_col_system_name (ovsrec_autoattach_columns[OVSREC_AUTOATTACH_COL_SYSTEM_NAME])
#define ovsrec_autoattach_col_mappings (ovsrec_autoattach_columns[OVSREC_AUTOATTACH_COL_MAPPINGS])
#define ovsrec_autoattach_col_system_description (ovsrec_autoattach_columns[OVSREC_AUTOATTACH_COL_SYSTEM_DESCRIPTION])
extern struct ovsdb_idl_column ovsrec_autoattach_columns[OVSREC_AUTOATTACH_N_COLUMNS];
const struct ovsrec_autoattach_table *ovsrec_autoattach_table_get(const struct ovsdb_idl *);
const struct ovsrec_autoattach *ovsrec_autoattach_table_first(const struct ovsrec_autoattach_table *);
#define OVSREC_AUTOATTACH_TABLE_FOR_EACH(ROW, TABLE) \
for ((ROW) = ovsrec_autoattach_table_first(TABLE); \
(ROW); \
(ROW) = ovsrec_autoattach_next(ROW))
#define OVSREC_AUTOATTACH_TABLE_FOR_EACH_SAFE(ROW, NEXT, TABLE) \
for ((ROW) = ovsrec_autoattach_table_first(TABLE); \
(ROW) ? ((NEXT) = ovsrec_autoattach_next(ROW), 1) : 0; \
(ROW) = (NEXT))
const struct ovsrec_autoattach *ovsrec_autoattach_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
const struct ovsrec_autoattach *ovsrec_autoattach_table_get_for_uuid(const struct ovsrec_autoattach_table *, const struct uuid *);
const struct ovsrec_autoattach *ovsrec_autoattach_first(const struct ovsdb_idl *);
const struct ovsrec_autoattach *ovsrec_autoattach_next(const struct ovsrec_autoattach *);
#define OVSREC_AUTOATTACH_FOR_EACH(ROW, IDL) \
for ((ROW) = ovsrec_autoattach_first(IDL); \
(ROW); \
(ROW) = ovsrec_autoattach_next(ROW))
#define OVSREC_AUTOATTACH_FOR_EACH_SAFE(ROW, NEXT, IDL) \
for ((ROW) = ovsrec_autoattach_first(IDL); \
(ROW) ? ((NEXT) = ovsrec_autoattach_next(ROW), 1) : 0; \
(ROW) = (NEXT))
unsigned int ovsrec_autoattach_get_seqno(const struct ovsdb_idl *);
unsigned int ovsrec_autoattach_row_get_seqno(const struct ovsrec_autoattach *row, enum ovsdb_idl_change change);
const struct ovsrec_autoattach *ovsrec_autoattach_track_get_first(const struct ovsdb_idl *);
const struct ovsrec_autoattach *ovsrec_autoattach_track_get_next(const struct ovsrec_autoattach *);
#define OVSREC_AUTOATTACH_FOR_EACH_TRACKED(ROW, IDL) \
for ((ROW) = ovsrec_autoattach_track_get_first(IDL); \
(ROW); \
(ROW) = ovsrec_autoattach_track_get_next(ROW))
const struct ovsrec_autoattach *ovsrec_autoattach_table_track_get_first(const struct ovsrec_autoattach_table *);
#define OVSREC_AUTOATTACH_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
for ((ROW) = ovsrec_autoattach_table_track_get_first(TABLE); \
(ROW); \
(ROW) = ovsrec_autoattach_track_get_next(ROW))
/* Returns true if 'row' was inserted since the last change tracking reset. */
static inline bool ovsrec_autoattach_is_new(const struct ovsrec_autoattach *row)
{
return ovsrec_autoattach_row_get_seqno(row, OVSDB_IDL_CHANGE_MODIFY) == 0;
}
/* Returns true if 'row' was deleted since the last change tracking reset. */
static inline bool ovsrec_autoattach_is_deleted(const struct ovsrec_autoattach *row)
{
return ovsrec_autoattach_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
}
void ovsrec_autoattach_index_destroy_row(const struct ovsrec_autoattach *);
struct ovsrec_autoattach *ovsrec_autoattach_index_find(struct ovsdb_idl_index *, const struct ovsrec_autoattach *);
int ovsrec_autoattach_index_compare(
struct ovsdb_idl_index *,
const struct ovsrec_autoattach *,
const struct ovsrec_autoattach *);
struct ovsdb_idl_cursor ovsrec_autoattach_cursor_first(struct ovsdb_idl_index *);
struct ovsdb_idl_cursor ovsrec_autoattach_cursor_first_eq(
struct ovsdb_idl_index *, const struct ovsrec_autoattach *);
struct ovsdb_idl_cursor ovsrec_autoattach_cursor_first_ge(
struct ovsdb_idl_index *, const struct ovsrec_autoattach *);
struct ovsrec_autoattach *ovsrec_autoattach_cursor_data(struct ovsdb_idl_cursor *);
#define OVSREC_AUTOATTACH_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
for (struct ovsdb_idl_cursor cursor__ = ovsrec_autoattach_cursor_first_ge(INDEX, FROM); \
(cursor__.position \
&& ((ROW) = ovsrec_autoattach_cursor_data(&cursor__), \
!(TO) || ovsrec_autoattach_index_compare(INDEX, ROW, TO) <= 0)); \
ovsdb_idl_cursor_next(&cursor__))
#define OVSREC_AUTOATTACH_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
for (struct ovsdb_idl_cursor cursor__ = ovsrec_autoattach_cursor_first_eq(INDEX, KEY); \
(cursor__.position \
? ((ROW) = ovsrec_autoattach_cursor_data(&cursor__), \
ovsdb_idl_cursor_next_eq(&cursor__), \
true) \
: false); \
)
#define OVSREC_AUTOATTACH_FOR_EACH_BYINDEX(ROW, INDEX) \
for (struct ovsdb_idl_cursor cursor__ = ovsrec_autoattach_cursor_first(INDEX); \
(cursor__.position \
? ((ROW) = ovsrec_autoattach_cursor_data(&cursor__), \
ovsdb_idl_cursor_next(&cursor__), \
true) \
: false); \
)
void ovsrec_autoattach_init(struct ovsrec_autoattach *);
void ovsrec_autoattach_delete(const struct ovsrec_autoattach *);
struct ovsrec_autoattach *ovsrec_autoattach_insert(struct ovsdb_idl_txn *);
bool ovsrec_autoattach_is_updated(const struct ovsrec_autoattach *, enum ovsrec_autoattach_column_id);
void ovsrec_autoattach_verify_mappings(const struct ovsrec_autoattach *);
void ovsrec_autoattach_verify_system_description(const struct ovsrec_autoattach *);
void ovsrec_autoattach_verify_system_name(const struct ovsrec_autoattach *);
const struct ovsdb_datum *ovsrec_autoattach_get_mappings(const struct ovsrec_autoattach *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
const struct ovsdb_datum *ovsrec_autoattach_get_system_description(const struct ovsrec_autoattach *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_autoattach_get_system_name(const struct ovsrec_autoattach *, enum ovsdb_atomic_type key_type);
void ovsrec_autoattach_set_mappings(const struct ovsrec_autoattach *, const int64_t *key_mappings, const int64_t *value_mappings, size_t n_mappings);
void ovsrec_autoattach_set_system_description(const struct ovsrec_autoattach *, const char *system_description);
void ovsrec_autoattach_set_system_name(const struct ovsrec_autoattach *, const char *system_name);
void ovsrec_autoattach_update_mappings_setkey(const struct ovsrec_autoattach *, int64_t , int64_t );
void ovsrec_autoattach_update_mappings_delkey(const struct ovsrec_autoattach *, int64_t );
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);
void ovsrec_autoattach_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_autoattach_add_clause_system_description(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *system_description);
void ovsrec_autoattach_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_autoattach_add_clause_system_name(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *system_name);
void ovsrec_autoattach_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
struct ovsrec_autoattach *ovsrec_autoattach_index_init_row(struct ovsdb_idl_index *);
void ovsrec_autoattach_index_set_mappings(const struct ovsrec_autoattach *,
const int64_t *key_mappings, const int64_t *value_mappings, size_t n_mappings);
void ovsrec_autoattach_index_set_system_description(const struct ovsrec_autoattach *,
const char *system_description);
void ovsrec_autoattach_index_set_system_name(const struct ovsrec_autoattach *,
const char *system_name);
/* Bridge table. */
struct ovsrec_bridge {
struct ovsdb_idl_row header_;
/* auto_attach column. */
struct ovsrec_autoattach *auto_attach;
/* controller column. */
struct ovsrec_controller **controller;
size_t n_controller;
/* datapath_id column. */
char *datapath_id;
/* datapath_type column. */
char *datapath_type; /* Always nonnull. */
/* datapath_version column. */
char *datapath_version; /* Always nonnull. */
/* external_ids column. */
struct smap external_ids;
/* fail_mode column. */
char *fail_mode;
/* flood_vlans column. */
int64_t *flood_vlans;
size_t n_flood_vlans;
/* flow_tables column. */
int64_t *key_flow_tables;
struct ovsrec_flow_table **value_flow_tables;
size_t n_flow_tables;
/* ipfix column. */
struct ovsrec_ipfix *ipfix;
/* mcast_snooping_enable column. */
bool mcast_snooping_enable;
/* mirrors column. */
struct ovsrec_mirror **mirrors;
size_t n_mirrors;
/* name column. */
char *name; /* Always nonnull. */
/* netflow column. */
struct ovsrec_netflow *netflow;
/* other_config column. */
struct smap other_config;
/* ports column. */
struct ovsrec_port **ports;
size_t n_ports;
/* protocols column. */
char **protocols;
size_t n_protocols;
/* rstp_enable column. */
bool rstp_enable;
/* rstp_status column. */
struct smap rstp_status;
/* sflow column. */
struct ovsrec_sflow *sflow;
/* status column. */
struct smap status;
/* stp_enable column. */
bool stp_enable;
};
enum ovsrec_bridge_column_id {
OVSREC_BRIDGE_COL_AUTO_ATTACH,
OVSREC_BRIDGE_COL_CONTROLLER,
OVSREC_BRIDGE_COL_DATAPATH_ID,
OVSREC_BRIDGE_COL_DATAPATH_TYPE,
OVSREC_BRIDGE_COL_DATAPATH_VERSION,
OVSREC_BRIDGE_COL_EXTERNAL_IDS,
OVSREC_BRIDGE_COL_FAIL_MODE,
OVSREC_BRIDGE_COL_FLOOD_VLANS,
OVSREC_BRIDGE_COL_FLOW_TABLES,
OVSREC_BRIDGE_COL_IPFIX,
OVSREC_BRIDGE_COL_MCAST_SNOOPING_ENABLE,
OVSREC_BRIDGE_COL_MIRRORS,
OVSREC_BRIDGE_COL_NAME,
OVSREC_BRIDGE_COL_NETFLOW,
OVSREC_BRIDGE_COL_OTHER_CONFIG,
OVSREC_BRIDGE_COL_PORTS,
OVSREC_BRIDGE_COL_PROTOCOLS,
OVSREC_BRIDGE_COL_RSTP_ENABLE,
OVSREC_BRIDGE_COL_RSTP_STATUS,
OVSREC_BRIDGE_COL_SFLOW,
OVSREC_BRIDGE_COL_STATUS,
OVSREC_BRIDGE_COL_STP_ENABLE,
OVSREC_BRIDGE_N_COLUMNS
};
#define ovsrec_bridge_col_datapath_id (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_DATAPATH_ID])
#define ovsrec_bridge_col_datapath_type (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_DATAPATH_TYPE])
#define ovsrec_bridge_col_mirrors (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_MIRRORS])
#define ovsrec_bridge_col_rstp_status (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_RSTP_STATUS])
#define ovsrec_bridge_col_external_ids (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_EXTERNAL_IDS])
#define ovsrec_bridge_col_rstp_enable (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_RSTP_ENABLE])
#define ovsrec_bridge_col_flood_vlans (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_FLOOD_VLANS])
#define ovsrec_bridge_col_datapath_version (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_DATAPATH_VERSION])
#define ovsrec_bridge_col_status (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_STATUS])
#define ovsrec_bridge_col_ipfix (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_IPFIX])
#define ovsrec_bridge_col_controller (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_CONTROLLER])
#define ovsrec_bridge_col_auto_attach (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_AUTO_ATTACH])
#define ovsrec_bridge_col_mcast_snooping_enable (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_MCAST_SNOOPING_ENABLE])
#define ovsrec_bridge_col_netflow (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_NETFLOW])
#define ovsrec_bridge_col_protocols (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_PROTOCOLS])
#define ovsrec_bridge_col_fail_mode (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_FAIL_MODE])
#define ovsrec_bridge_col_name (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_NAME])
#define ovsrec_bridge_col_sflow (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_SFLOW])
#define ovsrec_bridge_col_other_config (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_OTHER_CONFIG])
#define ovsrec_bridge_col_flow_tables (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_FLOW_TABLES])
#define ovsrec_bridge_col_ports (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_PORTS])
#define ovsrec_bridge_col_stp_enable (ovsrec_bridge_columns[OVSREC_BRIDGE_COL_STP_ENABLE])
extern struct ovsdb_idl_column ovsrec_bridge_columns[OVSREC_BRIDGE_N_COLUMNS];
const struct ovsrec_bridge_table *ovsrec_bridge_table_get(const struct ovsdb_idl *);
const struct ovsrec_bridge *ovsrec_bridge_table_first(const struct ovsrec_bridge_table *);
#define OVSREC_BRIDGE_TABLE_FOR_EACH(ROW, TABLE) \
for ((ROW) = ovsrec_bridge_table_first(TABLE); \
(ROW); \
(ROW) = ovsrec_bridge_next(ROW))
#define OVSREC_BRIDGE_TABLE_FOR_EACH_SAFE(ROW, NEXT, TABLE) \
for ((ROW) = ovsrec_bridge_table_first(TABLE); \
(ROW) ? ((NEXT) = ovsrec_bridge_next(ROW), 1) : 0; \
(ROW) = (NEXT))
const struct ovsrec_bridge *ovsrec_bridge_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
const struct ovsrec_bridge *ovsrec_bridge_table_get_for_uuid(const struct ovsrec_bridge_table *, const struct uuid *);
const struct ovsrec_bridge *ovsrec_bridge_first(const struct ovsdb_idl *);
const struct ovsrec_bridge *ovsrec_bridge_next(const struct ovsrec_bridge *);
#define OVSREC_BRIDGE_FOR_EACH(ROW, IDL) \
for ((ROW) = ovsrec_bridge_first(IDL); \
(ROW); \
(ROW) = ovsrec_bridge_next(ROW))
#define OVSREC_BRIDGE_FOR_EACH_SAFE(ROW, NEXT, IDL) \
for ((ROW) = ovsrec_bridge_first(IDL); \
(ROW) ? ((NEXT) = ovsrec_bridge_next(ROW), 1) : 0; \
(ROW) = (NEXT))
unsigned int ovsrec_bridge_get_seqno(const struct ovsdb_idl *);
unsigned int ovsrec_bridge_row_get_seqno(const struct ovsrec_bridge *row, enum ovsdb_idl_change change);
const struct ovsrec_bridge *ovsrec_bridge_track_get_first(const struct ovsdb_idl *);
const struct ovsrec_bridge *ovsrec_bridge_track_get_next(const struct ovsrec_bridge *);
#define OVSREC_BRIDGE_FOR_EACH_TRACKED(ROW, IDL) \
for ((ROW) = ovsrec_bridge_track_get_first(IDL); \
(ROW); \
(ROW) = ovsrec_bridge_track_get_next(ROW))
const struct ovsrec_bridge *ovsrec_bridge_table_track_get_first(const struct ovsrec_bridge_table *);
#define OVSREC_BRIDGE_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
for ((ROW) = ovsrec_bridge_table_track_get_first(TABLE); \
(ROW); \
(ROW) = ovsrec_bridge_track_get_next(ROW))
/* Returns true if 'row' was inserted since the last change tracking reset. */
static inline bool ovsrec_bridge_is_new(const struct ovsrec_bridge *row)
{
return ovsrec_bridge_row_get_seqno(row, OVSDB_IDL_CHANGE_MODIFY) == 0;
}
/* Returns true if 'row' was deleted since the last change tracking reset. */
static inline bool ovsrec_bridge_is_deleted(const struct ovsrec_bridge *row)
{
return ovsrec_bridge_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
}
void ovsrec_bridge_index_destroy_row(const struct ovsrec_bridge *);
struct ovsrec_bridge *ovsrec_bridge_index_find(struct ovsdb_idl_index *, const struct ovsrec_bridge *);
int ovsrec_bridge_index_compare(
struct ovsdb_idl_index *,
const struct ovsrec_bridge *,
const struct ovsrec_bridge *);
struct ovsdb_idl_cursor ovsrec_bridge_cursor_first(struct ovsdb_idl_index *);
struct ovsdb_idl_cursor ovsrec_bridge_cursor_first_eq(
struct ovsdb_idl_index *, const struct ovsrec_bridge *);
struct ovsdb_idl_cursor ovsrec_bridge_cursor_first_ge(
struct ovsdb_idl_index *, const struct ovsrec_bridge *);
struct ovsrec_bridge *ovsrec_bridge_cursor_data(struct ovsdb_idl_cursor *);
#define OVSREC_BRIDGE_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
for (struct ovsdb_idl_cursor cursor__ = ovsrec_bridge_cursor_first_ge(INDEX, FROM); \
(cursor__.position \
&& ((ROW) = ovsrec_bridge_cursor_data(&cursor__), \
!(TO) || ovsrec_bridge_index_compare(INDEX, ROW, TO) <= 0)); \
ovsdb_idl_cursor_next(&cursor__))
#define OVSREC_BRIDGE_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
for (struct ovsdb_idl_cursor cursor__ = ovsrec_bridge_cursor_first_eq(INDEX, KEY); \
(cursor__.position \
? ((ROW) = ovsrec_bridge_cursor_data(&cursor__), \
ovsdb_idl_cursor_next_eq(&cursor__), \
true) \
: false); \
)
#define OVSREC_BRIDGE_FOR_EACH_BYINDEX(ROW, INDEX) \
for (struct ovsdb_idl_cursor cursor__ = ovsrec_bridge_cursor_first(INDEX); \
(cursor__.position \
? ((ROW) = ovsrec_bridge_cursor_data(&cursor__), \
ovsdb_idl_cursor_next(&cursor__), \
true) \
: false); \
)
void ovsrec_bridge_init(struct ovsrec_bridge *);
void ovsrec_bridge_delete(const struct ovsrec_bridge *);
struct ovsrec_bridge *ovsrec_bridge_insert(struct ovsdb_idl_txn *);
bool ovsrec_bridge_is_updated(const struct ovsrec_bridge *, enum ovsrec_bridge_column_id);
void ovsrec_bridge_verify_auto_attach(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_controller(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_datapath_id(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_datapath_type(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_datapath_version(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_external_ids(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_fail_mode(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_flood_vlans(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_flow_tables(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_ipfix(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_mcast_snooping_enable(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_mirrors(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_name(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_netflow(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_other_config(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_ports(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_protocols(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_rstp_enable(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_rstp_status(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_sflow(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_status(const struct ovsrec_bridge *);
void ovsrec_bridge_verify_stp_enable(const struct ovsrec_bridge *);
const struct ovsdb_datum *ovsrec_bridge_get_auto_attach(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_controller(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_datapath_id(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_datapath_type(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_datapath_version(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
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);
const struct ovsdb_datum *ovsrec_bridge_get_fail_mode(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_flood_vlans(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
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);
const struct ovsdb_datum *ovsrec_bridge_get_ipfix(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_mcast_snooping_enable(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_mirrors(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_name(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_netflow(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
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);
const struct ovsdb_datum *ovsrec_bridge_get_ports(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_protocols(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_rstp_enable(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
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);
const struct ovsdb_datum *ovsrec_bridge_get_sflow(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_bridge_get_status(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
const struct ovsdb_datum *ovsrec_bridge_get_stp_enable(const struct ovsrec_bridge *, enum ovsdb_atomic_type key_type);
void ovsrec_bridge_set_auto_attach(const struct ovsrec_bridge *, const struct ovsrec_autoattach *auto_attach);
void ovsrec_bridge_set_controller(const struct ovsrec_bridge *, struct ovsrec_controller **controller, size_t n_controller);
void ovsrec_bridge_set_datapath_id(const struct ovsrec_bridge *, const char *datapath_id);
void ovsrec_bridge_set_datapath_type(const struct ovsrec_bridge *, const char *datapath_type);
void ovsrec_bridge_set_datapath_version(const struct ovsrec_bridge *, const char *datapath_version);
void ovsrec_bridge_set_external_ids(const struct ovsrec_bridge *, const struct smap *);
void ovsrec_bridge_set_fail_mode(const struct ovsrec_bridge *, const char *fail_mode);
void ovsrec_bridge_set_flood_vlans(const struct ovsrec_bridge *, const int64_t *flood_vlans, size_t n_flood_vlans);
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);
void ovsrec_bridge_set_ipfix(const struct ovsrec_bridge *, const struct ovsrec_ipfix *ipfix);
void ovsrec_bridge_set_mcast_snooping_enable(const struct ovsrec_bridge *, bool mcast_snooping_enable);
void ovsrec_bridge_set_mirrors(const struct ovsrec_bridge *, struct ovsrec_mirror **mirrors, size_t n_mirrors);
void ovsrec_bridge_set_name(const struct ovsrec_bridge *, const char *name);
void ovsrec_bridge_set_netflow(const struct ovsrec_bridge *, const struct ovsrec_netflow *netflow);
void ovsrec_bridge_set_other_config(const struct ovsrec_bridge *, const struct smap *);
void ovsrec_bridge_set_ports(const struct ovsrec_bridge *, struct ovsrec_port **ports, size_t n_ports);
void ovsrec_bridge_set_protocols(const struct ovsrec_bridge *, const char **protocols, size_t n_protocols);
void ovsrec_bridge_set_rstp_enable(const struct ovsrec_bridge *, bool rstp_enable);
void ovsrec_bridge_set_rstp_status(const struct ovsrec_bridge *, const struct smap *);
void ovsrec_bridge_set_sflow(const struct ovsrec_bridge *, const struct ovsrec_sflow *sflow);
void ovsrec_bridge_set_status(const struct ovsrec_bridge *, const struct smap *);
void ovsrec_bridge_set_stp_enable(const struct ovsrec_bridge *, bool stp_enable);
void ovsrec_bridge_update_auto_attach_addvalue(const struct ovsrec_bridge *, const struct ovsrec_autoattach *);
void ovsrec_bridge_update_auto_attach_delvalue(const struct ovsrec_bridge *, const struct ovsrec_autoattach *);
void ovsrec_bridge_add_clause_auto_attach(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *auto_attach);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_controller_addvalue(const struct ovsrec_bridge *, const struct ovsrec_controller *);
void ovsrec_bridge_update_controller_delvalue(const struct ovsrec_bridge *, const struct ovsrec_controller *);
void ovsrec_bridge_add_clause_controller(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **controller, size_t n_controller);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_datapath_id_addvalue(const struct ovsrec_bridge *, const char *);
void ovsrec_bridge_update_datapath_id_delvalue(const struct ovsrec_bridge *, const char *);
void ovsrec_bridge_add_clause_datapath_id(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *datapath_id);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_add_clause_datapath_type(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *datapath_type);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_add_clause_datapath_version(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *datapath_version);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_external_ids_setkey(const struct ovsrec_bridge *, const char *, const char *);
void ovsrec_bridge_update_external_ids_delkey(const struct ovsrec_bridge *, const char *);
void ovsrec_bridge_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_fail_mode_addvalue(const struct ovsrec_bridge *, const char *);
void ovsrec_bridge_update_fail_mode_delvalue(const struct ovsrec_bridge *, const char *);
void ovsrec_bridge_add_clause_fail_mode(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *fail_mode);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_flood_vlans_addvalue(const struct ovsrec_bridge *, int64_t );
void ovsrec_bridge_update_flood_vlans_delvalue(const struct ovsrec_bridge *, int64_t );
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);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_flow_tables_setkey(const struct ovsrec_bridge *, int64_t , const struct ovsrec_flow_table *);
void ovsrec_bridge_update_flow_tables_delkey(const struct ovsrec_bridge *, int64_t );
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);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_ipfix_addvalue(const struct ovsrec_bridge *, const struct ovsrec_ipfix *);
void ovsrec_bridge_update_ipfix_delvalue(const struct ovsrec_bridge *, const struct ovsrec_ipfix *);
void ovsrec_bridge_add_clause_ipfix(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *ipfix);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_add_clause_mcast_snooping_enable(struct ovsdb_idl_condition *, enum ovsdb_function function, bool mcast_snooping_enable);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_mirrors_addvalue(const struct ovsrec_bridge *, const struct ovsrec_mirror *);
void ovsrec_bridge_update_mirrors_delvalue(const struct ovsrec_bridge *, const struct ovsrec_mirror *);
void ovsrec_bridge_add_clause_mirrors(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **mirrors, size_t n_mirrors);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_add_clause_name(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *name);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_netflow_addvalue(const struct ovsrec_bridge *, const struct ovsrec_netflow *);
void ovsrec_bridge_update_netflow_delvalue(const struct ovsrec_bridge *, const struct ovsrec_netflow *);
void ovsrec_bridge_add_clause_netflow(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *netflow);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_other_config_setkey(const struct ovsrec_bridge *, const char *, const char *);
void ovsrec_bridge_update_other_config_delkey(const struct ovsrec_bridge *, const char *);
void ovsrec_bridge_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_ports_addvalue(const struct ovsrec_bridge *, const struct ovsrec_port *);
void ovsrec_bridge_update_ports_delvalue(const struct ovsrec_bridge *, const struct ovsrec_port *);
void ovsrec_bridge_add_clause_ports(struct ovsdb_idl_condition *, enum ovsdb_function function, struct uuid **ports, size_t n_ports);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_protocols_addvalue(const struct ovsrec_bridge *, const char *);
void ovsrec_bridge_update_protocols_delvalue(const struct ovsrec_bridge *, const char *);
void ovsrec_bridge_add_clause_protocols(struct ovsdb_idl_condition *, enum ovsdb_function function, const char **protocols, size_t n_protocols);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_add_clause_rstp_enable(struct ovsdb_idl_condition *, enum ovsdb_function function, bool rstp_enable);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_rstp_status_setkey(const struct ovsrec_bridge *, const char *, const char *);
void ovsrec_bridge_update_rstp_status_delkey(const struct ovsrec_bridge *, const char *);
void ovsrec_bridge_add_clause_rstp_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_sflow_addvalue(const struct ovsrec_bridge *, const struct ovsrec_sflow *);
void ovsrec_bridge_update_sflow_delvalue(const struct ovsrec_bridge *, const struct ovsrec_sflow *);
void ovsrec_bridge_add_clause_sflow(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct uuid *sflow);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_update_status_setkey(const struct ovsrec_bridge *, const char *, const char *);
void ovsrec_bridge_update_status_delkey(const struct ovsrec_bridge *, const char *);
void ovsrec_bridge_add_clause_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_bridge_add_clause_stp_enable(struct ovsdb_idl_condition *, enum ovsdb_function function, bool stp_enable);
void ovsrec_bridge_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
struct ovsrec_bridge *ovsrec_bridge_index_init_row(struct ovsdb_idl_index *);
void ovsrec_bridge_index_set_auto_attach(const struct ovsrec_bridge *,
const struct ovsrec_autoattach *auto_attach);
void ovsrec_bridge_index_set_controller(const struct ovsrec_bridge *,
struct ovsrec_controller **controller, size_t n_controller);
void ovsrec_bridge_index_set_datapath_id(const struct ovsrec_bridge *,
const char *datapath_id);
void ovsrec_bridge_index_set_datapath_type(const struct ovsrec_bridge *,
const char *datapath_type);
void ovsrec_bridge_index_set_datapath_version(const struct ovsrec_bridge *,
const char *datapath_version);
void ovsrec_bridge_index_set_external_ids(const struct ovsrec_bridge *,
const struct smap *);
void ovsrec_bridge_index_set_fail_mode(const struct ovsrec_bridge *,
const char *fail_mode);
void ovsrec_bridge_index_set_flood_vlans(const struct ovsrec_bridge *,
const int64_t *flood_vlans, size_t n_flood_vlans);
void ovsrec_bridge_index_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);
void ovsrec_bridge_index_set_ipfix(const struct ovsrec_bridge *,
const struct ovsrec_ipfix *ipfix);
void ovsrec_bridge_index_set_mcast_snooping_enable(const struct ovsrec_bridge *,
bool mcast_snooping_enable);
void ovsrec_bridge_index_set_mirrors(const struct ovsrec_bridge *,
struct ovsrec_mirror **mirrors, size_t n_mirrors);
void ovsrec_bridge_index_set_name(const struct ovsrec_bridge *,
const char *name);
void ovsrec_bridge_index_set_netflow(const struct ovsrec_bridge *,
const struct ovsrec_netflow *netflow);
void ovsrec_bridge_index_set_other_config(const struct ovsrec_bridge *,
const struct smap *);
void ovsrec_bridge_index_set_ports(const struct ovsrec_bridge *,
struct ovsrec_port **ports, size_t n_ports);
void ovsrec_bridge_index_set_protocols(const struct ovsrec_bridge *,
const char **protocols, size_t n_protocols);
void ovsrec_bridge_index_set_rstp_enable(const struct ovsrec_bridge *,
bool rstp_enable);
void ovsrec_bridge_index_set_rstp_status(const struct ovsrec_bridge *,
const struct smap *);
void ovsrec_bridge_index_set_sflow(const struct ovsrec_bridge *,
const struct ovsrec_sflow *sflow);
void ovsrec_bridge_index_set_status(const struct ovsrec_bridge *,
const struct smap *);
void ovsrec_bridge_index_set_stp_enable(const struct ovsrec_bridge *,
bool stp_enable);
/* Controller table. */
struct ovsrec_controller {
struct ovsdb_idl_row header_;
/* connection_mode column. */
char *connection_mode;
/* controller_burst_limit column. */
int64_t *controller_burst_limit;
size_t n_controller_burst_limit;
/* controller_rate_limit column. */
int64_t *controller_rate_limit;
size_t n_controller_rate_limit;
/* enable_async_messages column. */
bool *enable_async_messages;
size_t n_enable_async_messages;
/* external_ids column. */
struct smap external_ids;
/* inactivity_probe column. */
int64_t *inactivity_probe;
size_t n_inactivity_probe;
/* is_connected column. */
bool is_connected;
/* local_gateway column. */
char *local_gateway;
/* local_ip column. */
char *local_ip;
/* local_netmask column. */
char *local_netmask;
/* max_backoff column. */
int64_t *max_backoff;
size_t n_max_backoff;
/* other_config column. */
struct smap other_config;
/* role column. */
char *role;
/* status column. */
struct smap status;
/* target column. */
char *target; /* Always nonnull. */
};
enum ovsrec_controller_column_id {
OVSREC_CONTROLLER_COL_CONNECTION_MODE,
OVSREC_CONTROLLER_COL_CONTROLLER_BURST_LIMIT,
OVSREC_CONTROLLER_COL_CONTROLLER_RATE_LIMIT,
OVSREC_CONTROLLER_COL_ENABLE_ASYNC_MESSAGES,
OVSREC_CONTROLLER_COL_EXTERNAL_IDS,
OVSREC_CONTROLLER_COL_INACTIVITY_PROBE,
OVSREC_CONTROLLER_COL_IS_CONNECTED,
OVSREC_CONTROLLER_COL_LOCAL_GATEWAY,
OVSREC_CONTROLLER_COL_LOCAL_IP,
OVSREC_CONTROLLER_COL_LOCAL_NETMASK,
OVSREC_CONTROLLER_COL_MAX_BACKOFF,
OVSREC_CONTROLLER_COL_OTHER_CONFIG,
OVSREC_CONTROLLER_COL_ROLE,
OVSREC_CONTROLLER_COL_STATUS,
OVSREC_CONTROLLER_COL_TARGET,
OVSREC_CONTROLLER_N_COLUMNS
};
#define ovsrec_controller_col_max_backoff (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_MAX_BACKOFF])
#define ovsrec_controller_col_status (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_STATUS])
#define ovsrec_controller_col_target (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_TARGET])
#define ovsrec_controller_col_local_ip (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_LOCAL_IP])
#define ovsrec_controller_col_connection_mode (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_CONNECTION_MODE])
#define ovsrec_controller_col_other_config (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_OTHER_CONFIG])
#define ovsrec_controller_col_controller_rate_limit (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_CONTROLLER_RATE_LIMIT])
#define ovsrec_controller_col_inactivity_probe (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_INACTIVITY_PROBE])
#define ovsrec_controller_col_local_netmask (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_LOCAL_NETMASK])
#define ovsrec_controller_col_role (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_ROLE])
#define ovsrec_controller_col_controller_burst_limit (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_CONTROLLER_BURST_LIMIT])
#define ovsrec_controller_col_external_ids (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_EXTERNAL_IDS])
#define ovsrec_controller_col_local_gateway (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_LOCAL_GATEWAY])
#define ovsrec_controller_col_is_connected (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_IS_CONNECTED])
#define ovsrec_controller_col_enable_async_messages (ovsrec_controller_columns[OVSREC_CONTROLLER_COL_ENABLE_ASYNC_MESSAGES])
extern struct ovsdb_idl_column ovsrec_controller_columns[OVSREC_CONTROLLER_N_COLUMNS];
const struct ovsrec_controller_table *ovsrec_controller_table_get(const struct ovsdb_idl *);
const struct ovsrec_controller *ovsrec_controller_table_first(const struct ovsrec_controller_table *);
#define OVSREC_CONTROLLER_TABLE_FOR_EACH(ROW, TABLE) \
for ((ROW) = ovsrec_controller_table_first(TABLE); \
(ROW); \
(ROW) = ovsrec_controller_next(ROW))
#define OVSREC_CONTROLLER_TABLE_FOR_EACH_SAFE(ROW, NEXT, TABLE) \
for ((ROW) = ovsrec_controller_table_first(TABLE); \
(ROW) ? ((NEXT) = ovsrec_controller_next(ROW), 1) : 0; \
(ROW) = (NEXT))
const struct ovsrec_controller *ovsrec_controller_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
const struct ovsrec_controller *ovsrec_controller_table_get_for_uuid(const struct ovsrec_controller_table *, const struct uuid *);
const struct ovsrec_controller *ovsrec_controller_first(const struct ovsdb_idl *);
const struct ovsrec_controller *ovsrec_controller_next(const struct ovsrec_controller *);
#define OVSREC_CONTROLLER_FOR_EACH(ROW, IDL) \
for ((ROW) = ovsrec_controller_first(IDL); \
(ROW); \
(ROW) = ovsrec_controller_next(ROW))
#define OVSREC_CONTROLLER_FOR_EACH_SAFE(ROW, NEXT, IDL) \
for ((ROW) = ovsrec_controller_first(IDL); \
(ROW) ? ((NEXT) = ovsrec_controller_next(ROW), 1) : 0; \
(ROW) = (NEXT))
unsigned int ovsrec_controller_get_seqno(const struct ovsdb_idl *);
unsigned int ovsrec_controller_row_get_seqno(const struct ovsrec_controller *row, enum ovsdb_idl_change change);
const struct ovsrec_controller *ovsrec_controller_track_get_first(const struct ovsdb_idl *);
const struct ovsrec_controller *ovsrec_controller_track_get_next(const struct ovsrec_controller *);
#define OVSREC_CONTROLLER_FOR_EACH_TRACKED(ROW, IDL) \
for ((ROW) = ovsrec_controller_track_get_first(IDL); \
(ROW); \
(ROW) = ovsrec_controller_track_get_next(ROW))
const struct ovsrec_controller *ovsrec_controller_table_track_get_first(const struct ovsrec_controller_table *);
#define OVSREC_CONTROLLER_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
for ((ROW) = ovsrec_controller_table_track_get_first(TABLE); \
(ROW); \
(ROW) = ovsrec_controller_track_get_next(ROW))
/* Returns true if 'row' was inserted since the last change tracking reset. */
static inline bool ovsrec_controller_is_new(const struct ovsrec_controller *row)
{
return ovsrec_controller_row_get_seqno(row, OVSDB_IDL_CHANGE_MODIFY) == 0;
}
/* Returns true if 'row' was deleted since the last change tracking reset. */
static inline bool ovsrec_controller_is_deleted(const struct ovsrec_controller *row)
{
return ovsrec_controller_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;
}
void ovsrec_controller_index_destroy_row(const struct ovsrec_controller *);
struct ovsrec_controller *ovsrec_controller_index_find(struct ovsdb_idl_index *, const struct ovsrec_controller *);
int ovsrec_controller_index_compare(
struct ovsdb_idl_index *,
const struct ovsrec_controller *,
const struct ovsrec_controller *);
struct ovsdb_idl_cursor ovsrec_controller_cursor_first(struct ovsdb_idl_index *);
struct ovsdb_idl_cursor ovsrec_controller_cursor_first_eq(
struct ovsdb_idl_index *, const struct ovsrec_controller *);
struct ovsdb_idl_cursor ovsrec_controller_cursor_first_ge(
struct ovsdb_idl_index *, const struct ovsrec_controller *);
struct ovsrec_controller *ovsrec_controller_cursor_data(struct ovsdb_idl_cursor *);
#define OVSREC_CONTROLLER_FOR_EACH_RANGE(ROW, FROM, TO, INDEX) \
for (struct ovsdb_idl_cursor cursor__ = ovsrec_controller_cursor_first_ge(INDEX, FROM); \
(cursor__.position \
&& ((ROW) = ovsrec_controller_cursor_data(&cursor__), \
!(TO) || ovsrec_controller_index_compare(INDEX, ROW, TO) <= 0)); \
ovsdb_idl_cursor_next(&cursor__))
#define OVSREC_CONTROLLER_FOR_EACH_EQUAL(ROW, KEY, INDEX) \
for (struct ovsdb_idl_cursor cursor__ = ovsrec_controller_cursor_first_eq(INDEX, KEY); \
(cursor__.position \
? ((ROW) = ovsrec_controller_cursor_data(&cursor__), \
ovsdb_idl_cursor_next_eq(&cursor__), \
true) \
: false); \
)
#define OVSREC_CONTROLLER_FOR_EACH_BYINDEX(ROW, INDEX) \
for (struct ovsdb_idl_cursor cursor__ = ovsrec_controller_cursor_first(INDEX); \
(cursor__.position \
? ((ROW) = ovsrec_controller_cursor_data(&cursor__), \
ovsdb_idl_cursor_next(&cursor__), \
true) \
: false); \
)
void ovsrec_controller_init(struct ovsrec_controller *);
void ovsrec_controller_delete(const struct ovsrec_controller *);
struct ovsrec_controller *ovsrec_controller_insert(struct ovsdb_idl_txn *);
bool ovsrec_controller_is_updated(const struct ovsrec_controller *, enum ovsrec_controller_column_id);
void ovsrec_controller_verify_connection_mode(const struct ovsrec_controller *);
void ovsrec_controller_verify_controller_burst_limit(const struct ovsrec_controller *);
void ovsrec_controller_verify_controller_rate_limit(const struct ovsrec_controller *);
void ovsrec_controller_verify_enable_async_messages(const struct ovsrec_controller *);
void ovsrec_controller_verify_external_ids(const struct ovsrec_controller *);
void ovsrec_controller_verify_inactivity_probe(const struct ovsrec_controller *);
void ovsrec_controller_verify_is_connected(const struct ovsrec_controller *);
void ovsrec_controller_verify_local_gateway(const struct ovsrec_controller *);
void ovsrec_controller_verify_local_ip(const struct ovsrec_controller *);
void ovsrec_controller_verify_local_netmask(const struct ovsrec_controller *);
void ovsrec_controller_verify_max_backoff(const struct ovsrec_controller *);
void ovsrec_controller_verify_other_config(const struct ovsrec_controller *);
void ovsrec_controller_verify_role(const struct ovsrec_controller *);
void ovsrec_controller_verify_status(const struct ovsrec_controller *);
void ovsrec_controller_verify_target(const struct ovsrec_controller *);
const struct ovsdb_datum *ovsrec_controller_get_connection_mode(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_controller_get_controller_burst_limit(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_controller_get_controller_rate_limit(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_controller_get_enable_async_messages(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
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);
const struct ovsdb_datum *ovsrec_controller_get_inactivity_probe(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_controller_get_is_connected(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_controller_get_local_gateway(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_controller_get_local_ip(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_controller_get_local_netmask(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_controller_get_max_backoff(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
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);
const struct ovsdb_datum *ovsrec_controller_get_role(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
const struct ovsdb_datum *ovsrec_controller_get_status(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type, enum ovsdb_atomic_type value_type);
const struct ovsdb_datum *ovsrec_controller_get_target(const struct ovsrec_controller *, enum ovsdb_atomic_type key_type);
void ovsrec_controller_set_connection_mode(const struct ovsrec_controller *, const char *connection_mode);
void ovsrec_controller_set_controller_burst_limit(const struct ovsrec_controller *, const int64_t *controller_burst_limit, size_t n_controller_burst_limit);
void ovsrec_controller_set_controller_rate_limit(const struct ovsrec_controller *, const int64_t *controller_rate_limit, size_t n_controller_rate_limit);
void ovsrec_controller_set_enable_async_messages(const struct ovsrec_controller *, const bool *enable_async_messages, size_t n_enable_async_messages);
void ovsrec_controller_set_external_ids(const struct ovsrec_controller *, const struct smap *);
void ovsrec_controller_set_inactivity_probe(const struct ovsrec_controller *, const int64_t *inactivity_probe, size_t n_inactivity_probe);
void ovsrec_controller_set_is_connected(const struct ovsrec_controller *, bool is_connected);
void ovsrec_controller_set_local_gateway(const struct ovsrec_controller *, const char *local_gateway);
void ovsrec_controller_set_local_ip(const struct ovsrec_controller *, const char *local_ip);
void ovsrec_controller_set_local_netmask(const struct ovsrec_controller *, const char *local_netmask);
void ovsrec_controller_set_max_backoff(const struct ovsrec_controller *, const int64_t *max_backoff, size_t n_max_backoff);
void ovsrec_controller_set_other_config(const struct ovsrec_controller *, const struct smap *);
void ovsrec_controller_set_role(const struct ovsrec_controller *, const char *role);
void ovsrec_controller_set_status(const struct ovsrec_controller *, const struct smap *);
void ovsrec_controller_set_target(const struct ovsrec_controller *, const char *target);
void ovsrec_controller_update_connection_mode_addvalue(const struct ovsrec_controller *, const char *);
void ovsrec_controller_update_connection_mode_delvalue(const struct ovsrec_controller *, const char *);
void ovsrec_controller_add_clause_connection_mode(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *connection_mode);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_controller_burst_limit_addvalue(const struct ovsrec_controller *, int64_t );
void ovsrec_controller_update_controller_burst_limit_delvalue(const struct ovsrec_controller *, int64_t );
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);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_controller_rate_limit_addvalue(const struct ovsrec_controller *, int64_t );
void ovsrec_controller_update_controller_rate_limit_delvalue(const struct ovsrec_controller *, int64_t );
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);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_enable_async_messages_addvalue(const struct ovsrec_controller *, bool );
void ovsrec_controller_update_enable_async_messages_delvalue(const struct ovsrec_controller *, bool );
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);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_external_ids_setkey(const struct ovsrec_controller *, const char *, const char *);
void ovsrec_controller_update_external_ids_delkey(const struct ovsrec_controller *, const char *);
void ovsrec_controller_add_clause_external_ids(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_inactivity_probe_addvalue(const struct ovsrec_controller *, int64_t );
void ovsrec_controller_update_inactivity_probe_delvalue(const struct ovsrec_controller *, int64_t );
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);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_add_clause_is_connected(struct ovsdb_idl_condition *, enum ovsdb_function function, bool is_connected);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_local_gateway_addvalue(const struct ovsrec_controller *, const char *);
void ovsrec_controller_update_local_gateway_delvalue(const struct ovsrec_controller *, const char *);
void ovsrec_controller_add_clause_local_gateway(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *local_gateway);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_local_ip_addvalue(const struct ovsrec_controller *, const char *);
void ovsrec_controller_update_local_ip_delvalue(const struct ovsrec_controller *, const char *);
void ovsrec_controller_add_clause_local_ip(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *local_ip);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_local_netmask_addvalue(const struct ovsrec_controller *, const char *);
void ovsrec_controller_update_local_netmask_delvalue(const struct ovsrec_controller *, const char *);
void ovsrec_controller_add_clause_local_netmask(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *local_netmask);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_max_backoff_addvalue(const struct ovsrec_controller *, int64_t );
void ovsrec_controller_update_max_backoff_delvalue(const struct ovsrec_controller *, int64_t );
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);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_other_config_setkey(const struct ovsrec_controller *, const char *, const char *);
void ovsrec_controller_update_other_config_delkey(const struct ovsrec_controller *, const char *);
void ovsrec_controller_add_clause_other_config(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_role_addvalue(const struct ovsrec_controller *, const char *);
void ovsrec_controller_update_role_delvalue(const struct ovsrec_controller *, const char *);
void ovsrec_controller_add_clause_role(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *role);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_update_status_setkey(const struct ovsrec_controller *, const char *, const char *);
void ovsrec_controller_update_status_delkey(const struct ovsrec_controller *, const char *);
void ovsrec_controller_add_clause_status(struct ovsdb_idl_condition *, enum ovsdb_function function, const struct smap *);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
void ovsrec_controller_add_clause_target(struct ovsdb_idl_condition *, enum ovsdb_function function, const char *target);
void ovsrec_controller_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);
struct ovsrec_controller *ovsrec_controller_index_init_row(struct ovsdb_idl_index *);
void ovsrec_controller_index_set_connection_mode(const struct ovsrec_controller *,
const char *connection_mode);
void ovsrec_controller_index_set_controller_burst_limit(const struct ovsrec_controller *,
const int64_t *controller_burst_limit, size_t n_controller_burst_limit);
void ovsrec_controller_index_set_controller_rate_limit(const struct ovsrec_controller *,
const int64_t *controller_rate_limit, size_t n_controller_rate_limit);
void ovsrec_controller_index_set_enable_async_messages(const struct ovsrec_controller *,
const bool *enable_async_messages, size_t n_enable_async_messages);
void ovsrec_controller_index_set_external_ids(const struct ovsrec_controller *,
const struct smap *);
void ovsrec_controller_index_set_inactivity_probe(const struct ovsrec_controller *,
const int64_t *inactivity_probe, size_t n_inactivity_probe);
void ovsrec_controller_index_set_is_connected(const struct ovsrec_controller *,
bool is_connected);
void ovsrec_controller_index_set_local_gateway(const struct ovsrec_controller *,
const char *local_gateway);
void ovsrec_controller_index_set_local_ip(const struct ovsrec_controller *,
const char *local_ip);
void ovsrec_controller_index_set_local_netmask(const struct ovsrec_controller *,
const char *local_netmask);
void ovsrec_controller_index_set_max_backoff(const struct ovsrec_controller *,
const int64_t *max_backoff, size_t n_max_backoff);
void ovsrec_controller_index_set_other_config(const struct ovsrec_controller *,
const struct smap *);
void ovsrec_controller_index_set_role(const struct ovsrec_controller *,
const char *role);
void ovsrec_controller_index_set_status(const struct ovsrec_controller *,
const struct smap *);
void ovsrec_controller_index_set_target(const struct ovsrec_controller *,
const char *target);
/* Flow_Sample_Collector_Set table. */
struct ovsrec_flow_sample_collector_set {
struct ovsdb_idl_row header_;
/* bridge column. */
struct ovsrec_bridge *bridge;
/* external_ids column. */
struct smap external_ids;
/* id column. */
int64_t id;
/* ipfix column. */
struct ovsrec_ipfix *ipfix;
};
enum ovsrec_flow_sample_collector_set_column_id {
OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_BRIDGE,
OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_EXTERNAL_IDS,
OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_ID,
OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_IPFIX,
OVSREC_FLOW_SAMPLE_COLLECTOR_SET_N_COLUMNS
};
#define ovsrec_flow_sample_collector_set_col_bridge (ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_BRIDGE])
#define ovsrec_flow_sample_collector_set_col_external_ids (ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_EXTERNAL_IDS])
#define ovsrec_flow_sample_collector_set_col_id (ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_ID])
#define ovsrec_flow_sample_collector_set_col_ipfix (ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_COL_IPFIX])
extern struct ovsdb_idl_column ovsrec_flow_sample_collector_set_columns[OVSREC_FLOW_SAMPLE_COLLECTOR_SET_N_COLUMNS];
const struct ovsrec_flow_sample_collector_set_table *ovsrec_flow_sample_collector_set_table_get(const struct ovsdb_idl *);
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_table_first(const struct ovsrec_flow_sample_collector_set_table *);
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_TABLE_FOR_EACH(ROW, TABLE) \
for ((ROW) = ovsrec_flow_sample_collector_set_table_first(TABLE); \
(ROW); \
(ROW) = ovsrec_flow_sample_collector_set_next(ROW))
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_TABLE_FOR_EACH_SAFE(ROW, NEXT, TABLE) \
for ((ROW) = ovsrec_flow_sample_collector_set_table_first(TABLE); \
(ROW) ? ((NEXT) = ovsrec_flow_sample_collector_set_next(ROW), 1) : 0; \
(ROW) = (NEXT))
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
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 *);
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_first(const struct ovsdb_idl *);
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_next(const struct ovsrec_flow_sample_collector_set *);
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH(ROW, IDL) \
for ((ROW) = ovsrec_flow_sample_collector_set_first(IDL); \
(ROW); \
(ROW) = ovsrec_flow_sample_collector_set_next(ROW))
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_SAFE(ROW, NEXT, IDL) \
for ((ROW) = ovsrec_flow_sample_collector_set_first(IDL); \
(ROW) ? ((NEXT) = ovsrec_flow_sample_collector_set_next(ROW), 1) : 0; \
(ROW) = (NEXT))
unsigned int ovsrec_flow_sample_collector_set_get_seqno(const struct ovsdb_idl *);
unsigned int ovsrec_flow_sample_collector_set_row_get_seqno(const struct ovsrec_flow_sample_collector_set *row, enum ovsdb_idl_change change);
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_track_get_first(const struct ovsdb_idl *);
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_track_get_next(const struct ovsrec_flow_sample_collector_set *);
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_FOR_EACH_TRACKED(ROW, IDL) \
for ((ROW) = ovsrec_flow_sample_collector_set_track_get_first(IDL); \
(ROW); \
(ROW) = ovsrec_flow_sample_collector_set_track_get_next(ROW))
const struct ovsrec_flow_sample_collector_set *ovsrec_flow_sample_collector_set_table_track_get_first(const struct ovsrec_flow_sample_collector_set_table *);
#define OVSREC_FLOW_SAMPLE_COLLECTOR_SET_TABLE_FOR_EACH_TRACKED(ROW, TABLE) \
for ((ROW) = ovsrec_flow_sample_collector_set_table_track_get_first(TABLE); \
(ROW); \
(ROW) = ovsrec_flow_sample_collector_set_track_get_next(ROW))
/* Returns true if 'row' was inserted since the last change tracking reset. */
static inline bool ovsrec_flow_sample_collector_set_is_new(const struct ovsrec_flow_sample_collector_set *row)
{
return ovsrec_flow_sample_collector_set_row_get_seqno(row, OVSDB_IDL_CHANGE_MODIFY) == 0;
}
/* Returns true if 'row' was deleted since the last change tracking reset. */
static inline bool ovsrec_flow_sample_collector_set_is_deleted(const struct ovsrec_flow_sample_collector_set *row)
{
return ovsrec_flow_sample_collector_set_row_get_seqno(row, OVSDB_IDL_CHANGE_DELETE) > 0;