Skip to content

Commit

Permalink
Simplify declare every entry macro reuse
Browse files Browse the repository at this point in the history
  • Loading branch information
kcudnik committed Aug 23, 2021
1 parent b28e5e3 commit f282690
Show file tree
Hide file tree
Showing 12 changed files with 54 additions and 350 deletions.
36 changes: 4 additions & 32 deletions lib/ClientSai.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -308,14 +308,7 @@ sai_status_t ClientSai::create( \
attr_list); \
}

DECLARE_CREATE_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_CREATE_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_CREATE_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_CREATE_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_CREATE_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_CREATE_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_CREATE_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_CREATE_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_CREATE_ENTRY);

#define DECLARE_REMOVE_ENTRY(OT,ot) \
sai_status_t ClientSai::remove( \
Expand All @@ -329,14 +322,7 @@ sai_status_t ClientSai::remove( \
sai_serialize_ ## ot(*ot)); \
}

DECLARE_REMOVE_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_REMOVE_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_REMOVE_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_REMOVE_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_REMOVE_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_REMOVE_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_REMOVE_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_REMOVE_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_REMOVE_ENTRY);

#define DECLARE_SET_ENTRY(OT,ot) \
sai_status_t ClientSai::set( \
Expand All @@ -352,14 +338,7 @@ sai_status_t ClientSai::set( \
attr); \
}

DECLARE_SET_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_SET_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_SET_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_SET_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_SET_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_SET_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_SET_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_SET_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_SET_ENTRY);

#define DECLARE_GET_ENTRY(OT,ot) \
sai_status_t ClientSai::get( \
Expand All @@ -377,14 +356,7 @@ sai_status_t ClientSai::get( \
attr_list); \
}

DECLARE_GET_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_GET_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_GET_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_GET_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_GET_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_GET_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_GET_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_GET_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_GET_ENTRY);

// QUAD API HELPERS

Expand Down
53 changes: 7 additions & 46 deletions lib/ClientServerSai.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -185,15 +185,7 @@ sai_status_t ClientServerSai::create( \
return m_sai->create(entry, attr_count, attr_list); \
}

DECLARE_CREATE_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_CREATE_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_CREATE_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_CREATE_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_CREATE_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_CREATE_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_CREATE_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_CREATE_ENTRY(NAT_ENTRY,nat_entry);

SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_CREATE_ENTRY);

#define DECLARE_REMOVE_ENTRY(OT,ot) \
sai_status_t ClientServerSai::remove( \
Expand All @@ -205,14 +197,7 @@ sai_status_t ClientServerSai::remove( \
return m_sai->remove(entry); \
}

DECLARE_REMOVE_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_REMOVE_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_REMOVE_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_REMOVE_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_REMOVE_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_REMOVE_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_REMOVE_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_REMOVE_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_REMOVE_ENTRY);

#define DECLARE_SET_ENTRY(OT,ot) \
sai_status_t ClientServerSai::set( \
Expand All @@ -225,14 +210,7 @@ sai_status_t ClientServerSai::set( \
return m_sai->set(entry, attr); \
}

DECLARE_SET_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_SET_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_SET_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_SET_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_SET_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_SET_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_SET_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_SET_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_SET_ENTRY);

#define DECLARE_GET_ENTRY(OT,ot) \
sai_status_t ClientServerSai::get( \
Expand All @@ -246,14 +224,7 @@ sai_status_t ClientServerSai::get( \
return m_sai->get(entry, attr_count, attr_list); \
}

DECLARE_GET_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_GET_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_GET_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_GET_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_GET_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_GET_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_GET_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_GET_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_GET_ENTRY);

// STATS

Expand Down Expand Up @@ -404,11 +375,7 @@ sai_status_t ClientServerSai::bulkCreate( \
object_statuses); \
}

DECLARE_BULK_CREATE_ENTRY(ROUTE_ENTRY,route_entry)
DECLARE_BULK_CREATE_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_BULK_CREATE_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_BULK_CREATE_ENTRY(NAT_ENTRY,nat_entry)

SAIREDIS_DECLARE_EVERY_BULK_ENTRY(DECLARE_BULK_CREATE_ENTRY);

// BULK REMOVE

Expand All @@ -429,10 +396,7 @@ sai_status_t ClientServerSai::bulkRemove( \
object_statuses); \
}

DECLARE_BULK_REMOVE_ENTRY(ROUTE_ENTRY,route_entry)
DECLARE_BULK_REMOVE_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_BULK_REMOVE_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_BULK_REMOVE_ENTRY(NAT_ENTRY,nat_entry)
SAIREDIS_DECLARE_EVERY_BULK_ENTRY(DECLARE_BULK_REMOVE_ENTRY);

// BULK SET

Expand All @@ -455,10 +419,7 @@ sai_status_t ClientServerSai::bulkSet( \
object_statuses); \
}

DECLARE_BULK_SET_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_BULK_SET_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_BULK_SET_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_BULK_SET_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_BULK_ENTRY(DECLARE_BULK_SET_ENTRY);

// NON QUAD API

Expand Down
19 changes: 5 additions & 14 deletions lib/Recorder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include "meta/sai_serialize.h"
#include "meta/SaiAttributeList.h"
#include "meta/Globals.h"
#include "meta/SaiInterface.h"

#include <unistd.h>
#include <inttypes.h>
Expand Down Expand Up @@ -872,17 +873,7 @@ void Recorder::recordRemove( \
recordRemove(SAI_OBJECT_TYPE_ ## OT, sai_serialize_ ## ot(*ot)); \
}

#define REDIS_DECLARE_EVERY_ENTRY(_X) \
_X(FDB_ENTRY,fdb_entry); \
_X(INSEG_ENTRY,inseg_entry); \
_X(IPMC_ENTRY,ipmc_entry); \
_X(L2MC_ENTRY,l2mc_entry); \
_X(MCAST_FDB_ENTRY,mcast_fdb_entry); \
_X(NEIGHBOR_ENTRY,neighbor_entry); \
_X(ROUTE_ENTRY,route_entry); \
_X(NAT_ENTRY,nat_entry); \

REDIS_DECLARE_EVERY_ENTRY(DECLARE_RECORD_REMOVE_ENTRY)
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_RECORD_REMOVE_ENTRY);

#define DECLARE_RECORD_CREATE_ENTRY(OT,ot) \
void Recorder::recordCreate( \
Expand All @@ -894,7 +885,7 @@ void Recorder::recordCreate(
recordCreate(SAI_OBJECT_TYPE_ ## OT, sai_serialize_ ## ot(*ot), attr_count, attr_list); \
}

REDIS_DECLARE_EVERY_ENTRY(DECLARE_RECORD_CREATE_ENTRY)
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_RECORD_CREATE_ENTRY);

#define DECLARE_RECORD_SET_ENTRY(OT,ot) \
void Recorder::recordSet( \
Expand All @@ -905,7 +896,7 @@ void Recorder::recordSet(
recordSet(SAI_OBJECT_TYPE_ ## OT, sai_serialize_ ## ot(*ot), attr); \
}

REDIS_DECLARE_EVERY_ENTRY(DECLARE_RECORD_SET_ENTRY)
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_RECORD_SET_ENTRY);

#define DECLARE_RECORD_GET_ENTRY(OT,ot) \
void Recorder::recordGet( \
Expand All @@ -917,7 +908,7 @@ void Recorder::recordGet(
recordGet(SAI_OBJECT_TYPE_ ## OT, sai_serialize_ ## ot(*ot), attr_count, attr_list); \
}

REDIS_DECLARE_EVERY_ENTRY(DECLARE_RECORD_GET_ENTRY)
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_RECORD_GET_ENTRY);

void Recorder::recordObjectTypeGetAvailability(
_In_ sai_object_id_t switchId,
Expand Down
36 changes: 4 additions & 32 deletions lib/RedisRemoteSaiInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -545,14 +545,7 @@ sai_status_t RedisRemoteSaiInterface::remove( \
sai_serialize_ ## ot(*ot)); \
}

DECLARE_REMOVE_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_REMOVE_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_REMOVE_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_REMOVE_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_REMOVE_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_REMOVE_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_REMOVE_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_REMOVE_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_REMOVE_ENTRY);

#define DECLARE_CREATE_ENTRY(OT,ot) \
sai_status_t RedisRemoteSaiInterface::create( \
Expand All @@ -568,14 +561,7 @@ sai_status_t RedisRemoteSaiInterface::create( \
attr_list); \
}

DECLARE_CREATE_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_CREATE_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_CREATE_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_CREATE_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_CREATE_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_CREATE_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_CREATE_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_CREATE_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_CREATE_ENTRY);

#define DECLARE_SET_ENTRY(OT,ot) \
sai_status_t RedisRemoteSaiInterface::set( \
Expand All @@ -589,14 +575,7 @@ sai_status_t RedisRemoteSaiInterface::set( \
attr); \
}

DECLARE_SET_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_SET_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_SET_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_SET_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_SET_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_SET_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_SET_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_SET_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_SET_ENTRY);

sai_status_t RedisRemoteSaiInterface::create(
_In_ sai_object_type_t object_type,
Expand Down Expand Up @@ -814,14 +793,7 @@ sai_status_t RedisRemoteSaiInterface::get( \
attr_list); \
}

DECLARE_GET_ENTRY(FDB_ENTRY,fdb_entry);
DECLARE_GET_ENTRY(INSEG_ENTRY,inseg_entry);
DECLARE_GET_ENTRY(IPMC_ENTRY,ipmc_entry);
DECLARE_GET_ENTRY(L2MC_ENTRY,l2mc_entry);
DECLARE_GET_ENTRY(MCAST_FDB_ENTRY,mcast_fdb_entry);
DECLARE_GET_ENTRY(NEIGHBOR_ENTRY,neighbor_entry);
DECLARE_GET_ENTRY(ROUTE_ENTRY,route_entry);
DECLARE_GET_ENTRY(NAT_ENTRY,nat_entry);
SAIREDIS_DECLARE_EVERY_ENTRY(DECLARE_GET_ENTRY);

sai_status_t RedisRemoteSaiInterface::waitForFlushFdbEntriesResponse()
{
Expand Down
Loading

0 comments on commit f282690

Please sign in to comment.