Skip to content

Commit 3b02209

Browse files
committed
Simplify SaiInterface macros
1 parent b7ec50a commit 3b02209

11 files changed

+129
-1200
lines changed

lib/inc/ClientSai.h

+4-109
Original file line numberDiff line numberDiff line change
@@ -13,51 +13,6 @@
1313
#include <vector>
1414
#include <string>
1515

16-
#define SAIREDIS_CLIENTSAI_DECLARE_REMOVE_ENTRY(ot) \
17-
virtual sai_status_t remove( \
18-
_In_ const sai_ ## ot ## _t* ot) override;
19-
20-
#define SAIREDIS_CLIENTSAI_DECLARE_CREATE_ENTRY(ot) \
21-
virtual sai_status_t create( \
22-
_In_ const sai_ ## ot ## _t* ot, \
23-
_In_ uint32_t attr_count, \
24-
_In_ const sai_attribute_t *attr_list) override;
25-
26-
#define SAIREDIS_CLIENTSAI_DECLARE_SET_ENTRY(ot) \
27-
virtual sai_status_t set( \
28-
_In_ const sai_ ## ot ## _t* ot, \
29-
_In_ const sai_attribute_t *attr) override;
30-
31-
#define SAIREDIS_CLIENTSAI_DECLARE_GET_ENTRY(ot) \
32-
virtual sai_status_t get( \
33-
_In_ const sai_ ## ot ## _t* ot, \
34-
_In_ uint32_t attr_count, \
35-
_Out_ sai_attribute_t *attr_list) override;
36-
37-
#define SAIREDIS_CLIENTSAI_DECLARE_BULK_CREATE_ENTRY(ot) \
38-
virtual sai_status_t bulkCreate( \
39-
_In_ uint32_t object_count, \
40-
_In_ const sai_ ## ot ## _t *ot, \
41-
_In_ const uint32_t *attr_count, \
42-
_In_ const sai_attribute_t **attr_list, \
43-
_In_ sai_bulk_op_error_mode_t mode, \
44-
_Out_ sai_status_t *object_statuses) override;
45-
46-
#define SAIREDIS_CLIENTSAI_DECLARE_BULK_REMOVE_ENTRY(ot) \
47-
virtual sai_status_t bulkRemove( \
48-
_In_ uint32_t object_count, \
49-
_In_ const sai_ ## ot ## _t *ot, \
50-
_In_ sai_bulk_op_error_mode_t mode, \
51-
_Out_ sai_status_t *object_statuses) override;
52-
53-
#define SAIREDIS_CLIENTSAI_DECLARE_BULK_SET_ENTRY(ot) \
54-
virtual sai_status_t bulkSet( \
55-
_In_ uint32_t object_count, \
56-
_In_ const sai_ ## ot ## _t *ot, \
57-
_In_ const sai_attribute_t *attr_list, \
58-
_In_ sai_bulk_op_error_mode_t mode, \
59-
_Out_ sai_status_t *object_statuses) override;
60-
6116
namespace sairedis
6217
{
6318
class ClientSai:
@@ -101,49 +56,10 @@ namespace sairedis
10156
_In_ uint32_t attr_count,
10257
_Inout_ sai_attribute_t *attr_list) override;
10358

104-
public: // create ENTRY
105-
106-
SAIREDIS_CLIENTSAI_DECLARE_CREATE_ENTRY(fdb_entry);
107-
SAIREDIS_CLIENTSAI_DECLARE_CREATE_ENTRY(inseg_entry);
108-
SAIREDIS_CLIENTSAI_DECLARE_CREATE_ENTRY(ipmc_entry);
109-
SAIREDIS_CLIENTSAI_DECLARE_CREATE_ENTRY(l2mc_entry);
110-
SAIREDIS_CLIENTSAI_DECLARE_CREATE_ENTRY(mcast_fdb_entry);
111-
SAIREDIS_CLIENTSAI_DECLARE_CREATE_ENTRY(neighbor_entry);
112-
SAIREDIS_CLIENTSAI_DECLARE_CREATE_ENTRY(route_entry);
113-
SAIREDIS_CLIENTSAI_DECLARE_CREATE_ENTRY(nat_entry);
114-
115-
public: // remove ENTRY
116-
117-
SAIREDIS_CLIENTSAI_DECLARE_REMOVE_ENTRY(fdb_entry);
118-
SAIREDIS_CLIENTSAI_DECLARE_REMOVE_ENTRY(inseg_entry);
119-
SAIREDIS_CLIENTSAI_DECLARE_REMOVE_ENTRY(ipmc_entry);
120-
SAIREDIS_CLIENTSAI_DECLARE_REMOVE_ENTRY(l2mc_entry);
121-
SAIREDIS_CLIENTSAI_DECLARE_REMOVE_ENTRY(mcast_fdb_entry);
122-
SAIREDIS_CLIENTSAI_DECLARE_REMOVE_ENTRY(neighbor_entry);
123-
SAIREDIS_CLIENTSAI_DECLARE_REMOVE_ENTRY(route_entry);
124-
SAIREDIS_CLIENTSAI_DECLARE_REMOVE_ENTRY(nat_entry);
125-
126-
public: // set ENTRY
127-
128-
SAIREDIS_CLIENTSAI_DECLARE_SET_ENTRY(fdb_entry);
129-
SAIREDIS_CLIENTSAI_DECLARE_SET_ENTRY(inseg_entry);
130-
SAIREDIS_CLIENTSAI_DECLARE_SET_ENTRY(ipmc_entry);
131-
SAIREDIS_CLIENTSAI_DECLARE_SET_ENTRY(l2mc_entry);
132-
SAIREDIS_CLIENTSAI_DECLARE_SET_ENTRY(mcast_fdb_entry);
133-
SAIREDIS_CLIENTSAI_DECLARE_SET_ENTRY(neighbor_entry);
134-
SAIREDIS_CLIENTSAI_DECLARE_SET_ENTRY(route_entry);
135-
SAIREDIS_CLIENTSAI_DECLARE_SET_ENTRY(nat_entry);
136-
137-
public: // get ENTRY
138-
139-
SAIREDIS_CLIENTSAI_DECLARE_GET_ENTRY(fdb_entry);
140-
SAIREDIS_CLIENTSAI_DECLARE_GET_ENTRY(inseg_entry);
141-
SAIREDIS_CLIENTSAI_DECLARE_GET_ENTRY(ipmc_entry);
142-
SAIREDIS_CLIENTSAI_DECLARE_GET_ENTRY(l2mc_entry);
143-
SAIREDIS_CLIENTSAI_DECLARE_GET_ENTRY(mcast_fdb_entry);
144-
SAIREDIS_CLIENTSAI_DECLARE_GET_ENTRY(neighbor_entry);
145-
SAIREDIS_CLIENTSAI_DECLARE_GET_ENTRY(route_entry);
146-
SAIREDIS_CLIENTSAI_DECLARE_GET_ENTRY(nat_entry);
59+
public: // QUAD ENTRY and BULK QUAD ENTRY
60+
61+
SAIREDIS_DECLARE_EVERY_ENTRY(SAIREDIS_SAIINTERFACE_DECLARE_QUAD_ENTRY_OVERRIDE);
62+
SAIREDIS_DECLARE_EVERY_BULK_ENTRY(SAIREDIS_SAIINTERFACE_DECLARE_BULK_ENTRY_OVERRIDE);
14763

14864
public: // bulk QUAD oid
14965

@@ -172,27 +88,6 @@ namespace sairedis
17288
_In_ sai_bulk_op_error_mode_t mode,
17389
_Out_ sai_status_t *object_statuses) override;
17490

175-
public: // bulk create ENTRY
176-
177-
SAIREDIS_CLIENTSAI_DECLARE_BULK_CREATE_ENTRY(fdb_entry);
178-
SAIREDIS_CLIENTSAI_DECLARE_BULK_CREATE_ENTRY(inseg_entry);
179-
SAIREDIS_CLIENTSAI_DECLARE_BULK_CREATE_ENTRY(nat_entry);
180-
SAIREDIS_CLIENTSAI_DECLARE_BULK_CREATE_ENTRY(route_entry);
181-
182-
public: // bulk remove ENTRY
183-
184-
SAIREDIS_CLIENTSAI_DECLARE_BULK_REMOVE_ENTRY(fdb_entry);
185-
SAIREDIS_CLIENTSAI_DECLARE_BULK_REMOVE_ENTRY(inseg_entry);
186-
SAIREDIS_CLIENTSAI_DECLARE_BULK_REMOVE_ENTRY(nat_entry);
187-
SAIREDIS_CLIENTSAI_DECLARE_BULK_REMOVE_ENTRY(route_entry);
188-
189-
public: // bulk set ENTRY
190-
191-
SAIREDIS_CLIENTSAI_DECLARE_BULK_SET_ENTRY(fdb_entry);
192-
SAIREDIS_CLIENTSAI_DECLARE_BULK_SET_ENTRY(inseg_entry);
193-
SAIREDIS_CLIENTSAI_DECLARE_BULK_SET_ENTRY(nat_entry);
194-
SAIREDIS_CLIENTSAI_DECLARE_BULK_SET_ENTRY(route_entry);
195-
19691
public: // stats API
19792

19893
virtual sai_status_t getStats(

lib/inc/ClientServerSai.h

+4-109
Original file line numberDiff line numberDiff line change
@@ -5,51 +5,6 @@
55
#include <memory>
66
#include <mutex>
77

8-
#define SAIREDIS_CLIENTSERVERSAI_DECLARE_REMOVE_ENTRY(ot) \
9-
virtual sai_status_t remove( \
10-
_In_ const sai_ ## ot ## _t* ot) override;
11-
12-
#define SAIREDIS_CLIENTSERVERSAI_DECLARE_CREATE_ENTRY(ot) \
13-
virtual sai_status_t create( \
14-
_In_ const sai_ ## ot ## _t* ot, \
15-
_In_ uint32_t attr_count, \
16-
_In_ const sai_attribute_t *attr_list) override;
17-
18-
#define SAIREDIS_CLIENTSERVERSAI_DECLARE_SET_ENTRY(ot) \
19-
virtual sai_status_t set( \
20-
_In_ const sai_ ## ot ## _t* ot, \
21-
_In_ const sai_attribute_t *attr) override;
22-
23-
#define SAIREDIS_CLIENTSERVERSAI_DECLARE_GET_ENTRY(ot) \
24-
virtual sai_status_t get( \
25-
_In_ const sai_ ## ot ## _t* ot, \
26-
_In_ uint32_t attr_count, \
27-
_Out_ sai_attribute_t *attr_list) override;
28-
29-
#define SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_CREATE_ENTRY(ot) \
30-
virtual sai_status_t bulkCreate( \
31-
_In_ uint32_t object_count, \
32-
_In_ const sai_ ## ot ## _t *ot, \
33-
_In_ const uint32_t *attr_count, \
34-
_In_ const sai_attribute_t **attr_list, \
35-
_In_ sai_bulk_op_error_mode_t mode, \
36-
_Out_ sai_status_t *object_statuses) override;
37-
38-
#define SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_REMOVE_ENTRY(ot) \
39-
virtual sai_status_t bulkRemove( \
40-
_In_ uint32_t object_count, \
41-
_In_ const sai_ ## ot ## _t *ot, \
42-
_In_ sai_bulk_op_error_mode_t mode, \
43-
_Out_ sai_status_t *object_statuses) override;
44-
45-
#define SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_SET_ENTRY(ot) \
46-
virtual sai_status_t bulkSet( \
47-
_In_ uint32_t object_count, \
48-
_In_ const sai_ ## ot ## _t *ot, \
49-
_In_ const sai_attribute_t *attr_list, \
50-
_In_ sai_bulk_op_error_mode_t mode, \
51-
_Out_ sai_status_t *object_statuses) override;
52-
538
namespace sairedis
549
{
5510
class ClientServerSai:
@@ -93,49 +48,10 @@ namespace sairedis
9348
_In_ uint32_t attr_count,
9449
_Inout_ sai_attribute_t *attr_list) override;
9550

96-
public: // create ENTRY
97-
98-
SAIREDIS_CLIENTSERVERSAI_DECLARE_CREATE_ENTRY(fdb_entry);
99-
SAIREDIS_CLIENTSERVERSAI_DECLARE_CREATE_ENTRY(inseg_entry);
100-
SAIREDIS_CLIENTSERVERSAI_DECLARE_CREATE_ENTRY(ipmc_entry);
101-
SAIREDIS_CLIENTSERVERSAI_DECLARE_CREATE_ENTRY(l2mc_entry);
102-
SAIREDIS_CLIENTSERVERSAI_DECLARE_CREATE_ENTRY(mcast_fdb_entry);
103-
SAIREDIS_CLIENTSERVERSAI_DECLARE_CREATE_ENTRY(neighbor_entry);
104-
SAIREDIS_CLIENTSERVERSAI_DECLARE_CREATE_ENTRY(route_entry);
105-
SAIREDIS_CLIENTSERVERSAI_DECLARE_CREATE_ENTRY(nat_entry);
106-
107-
public: // remove ENTRY
108-
109-
SAIREDIS_CLIENTSERVERSAI_DECLARE_REMOVE_ENTRY(fdb_entry);
110-
SAIREDIS_CLIENTSERVERSAI_DECLARE_REMOVE_ENTRY(inseg_entry);
111-
SAIREDIS_CLIENTSERVERSAI_DECLARE_REMOVE_ENTRY(ipmc_entry);
112-
SAIREDIS_CLIENTSERVERSAI_DECLARE_REMOVE_ENTRY(l2mc_entry);
113-
SAIREDIS_CLIENTSERVERSAI_DECLARE_REMOVE_ENTRY(mcast_fdb_entry);
114-
SAIREDIS_CLIENTSERVERSAI_DECLARE_REMOVE_ENTRY(neighbor_entry);
115-
SAIREDIS_CLIENTSERVERSAI_DECLARE_REMOVE_ENTRY(route_entry);
116-
SAIREDIS_CLIENTSERVERSAI_DECLARE_REMOVE_ENTRY(nat_entry);
117-
118-
public: // set ENTRY
119-
120-
SAIREDIS_CLIENTSERVERSAI_DECLARE_SET_ENTRY(fdb_entry);
121-
SAIREDIS_CLIENTSERVERSAI_DECLARE_SET_ENTRY(inseg_entry);
122-
SAIREDIS_CLIENTSERVERSAI_DECLARE_SET_ENTRY(ipmc_entry);
123-
SAIREDIS_CLIENTSERVERSAI_DECLARE_SET_ENTRY(l2mc_entry);
124-
SAIREDIS_CLIENTSERVERSAI_DECLARE_SET_ENTRY(mcast_fdb_entry);
125-
SAIREDIS_CLIENTSERVERSAI_DECLARE_SET_ENTRY(neighbor_entry);
126-
SAIREDIS_CLIENTSERVERSAI_DECLARE_SET_ENTRY(route_entry);
127-
SAIREDIS_CLIENTSERVERSAI_DECLARE_SET_ENTRY(nat_entry);
128-
129-
public: // get ENTRY
130-
131-
SAIREDIS_CLIENTSERVERSAI_DECLARE_GET_ENTRY(fdb_entry);
132-
SAIREDIS_CLIENTSERVERSAI_DECLARE_GET_ENTRY(inseg_entry);
133-
SAIREDIS_CLIENTSERVERSAI_DECLARE_GET_ENTRY(ipmc_entry);
134-
SAIREDIS_CLIENTSERVERSAI_DECLARE_GET_ENTRY(l2mc_entry);
135-
SAIREDIS_CLIENTSERVERSAI_DECLARE_GET_ENTRY(mcast_fdb_entry);
136-
SAIREDIS_CLIENTSERVERSAI_DECLARE_GET_ENTRY(neighbor_entry);
137-
SAIREDIS_CLIENTSERVERSAI_DECLARE_GET_ENTRY(route_entry);
138-
SAIREDIS_CLIENTSERVERSAI_DECLARE_GET_ENTRY(nat_entry);
51+
public: // QUAD ENTRY and BULK QUAD ENTRY
52+
53+
SAIREDIS_DECLARE_EVERY_ENTRY(SAIREDIS_SAIINTERFACE_DECLARE_QUAD_ENTRY_OVERRIDE);
54+
SAIREDIS_DECLARE_EVERY_BULK_ENTRY(SAIREDIS_SAIINTERFACE_DECLARE_BULK_ENTRY_OVERRIDE);
13955

14056
public: // bulk QUAD oid
14157

@@ -164,27 +80,6 @@ namespace sairedis
16480
_In_ sai_bulk_op_error_mode_t mode,
16581
_Out_ sai_status_t *object_statuses) override;
16682

167-
public: // bulk create ENTRY
168-
169-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_CREATE_ENTRY(fdb_entry);
170-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_CREATE_ENTRY(inseg_entry);
171-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_CREATE_ENTRY(nat_entry);
172-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_CREATE_ENTRY(route_entry);
173-
174-
public: // bulk remove ENTRY
175-
176-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_REMOVE_ENTRY(fdb_entry);
177-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_REMOVE_ENTRY(inseg_entry);
178-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_REMOVE_ENTRY(nat_entry);
179-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_REMOVE_ENTRY(route_entry);
180-
181-
public: // bulk set ENTRY
182-
183-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_SET_ENTRY(fdb_entry);
184-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_SET_ENTRY(inseg_entry);
185-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_SET_ENTRY(nat_entry);
186-
SAIREDIS_CLIENTSERVERSAI_DECLARE_BULK_SET_ENTRY(route_entry);
187-
18883
public: // stats API
18984

19085
virtual sai_status_t getStats(

0 commit comments

Comments
 (0)