in syncd/Syncd.cpp [345:425]
sai_status_t Syncd::processSingleEvent(
_In_ const swss::KeyOpFieldsValuesTuple &kco)
{
SWSS_LOG_ENTER();
auto& key = kfvKey(kco);
auto& op = kfvOp(kco);
SWSS_LOG_INFO("key: %s op: %s", key.c_str(), op.c_str());
if (key.length() == 0)
{
SWSS_LOG_DEBUG("no elements in m_buffer");
return SAI_STATUS_SUCCESS;
}
WatchdogScope ws(m_timerWatchdog, op + ":" + key, &kco);
if (op == REDIS_ASIC_STATE_COMMAND_CREATE)
return processQuadEvent(SAI_COMMON_API_CREATE, kco);
if (op == REDIS_ASIC_STATE_COMMAND_REMOVE)
return processQuadEvent(SAI_COMMON_API_REMOVE, kco);
if (op == REDIS_ASIC_STATE_COMMAND_SET)
return processQuadEvent(SAI_COMMON_API_SET, kco);
if (op == REDIS_ASIC_STATE_COMMAND_GET)
return processQuadEvent(SAI_COMMON_API_GET, kco);
if (op == REDIS_ASIC_STATE_COMMAND_BULK_CREATE)
return processBulkQuadEvent(SAI_COMMON_API_BULK_CREATE, kco);
if (op == REDIS_ASIC_STATE_COMMAND_BULK_REMOVE)
return processBulkQuadEvent(SAI_COMMON_API_BULK_REMOVE, kco);
if (op == REDIS_ASIC_STATE_COMMAND_BULK_SET)
return processBulkQuadEvent(SAI_COMMON_API_BULK_SET, kco);
if (op == REDIS_ASIC_STATE_COMMAND_BULK_GET)
return processBulkQuadEvent(SAI_COMMON_API_BULK_GET, kco);
if (op == REDIS_ASIC_STATE_COMMAND_NOTIFY)
return processNotifySyncd(kco);
if (op == REDIS_ASIC_STATE_COMMAND_GET_STATS)
return processGetStatsEvent(kco);
if (op == REDIS_ASIC_STATE_COMMAND_CLEAR_STATS)
return processClearStatsEvent(kco);
if (op == REDIS_ASIC_STATE_COMMAND_FLUSH)
return processFdbFlush(kco);
if (op == REDIS_ASIC_STATE_COMMAND_ATTR_CAPABILITY_QUERY)
return processAttrCapabilityQuery(kco);
if (op == REDIS_ASIC_STATE_COMMAND_ATTR_ENUM_VALUES_CAPABILITY_QUERY)
return processAttrEnumValuesCapabilityQuery(kco);
if (op == REDIS_ASIC_STATE_COMMAND_OBJECT_TYPE_GET_AVAILABILITY_QUERY)
return processObjectTypeGetAvailabilityQuery(kco);
if (op == REDIS_FLEX_COUNTER_COMMAND_START_POLL)
return processFlexCounterEvent(key, SET_COMMAND, kfvFieldsValues(kco));
if (op == REDIS_FLEX_COUNTER_COMMAND_STOP_POLL)
return processFlexCounterEvent(key, DEL_COMMAND, kfvFieldsValues(kco));
if (op == REDIS_FLEX_COUNTER_COMMAND_SET_GROUP)
return processFlexCounterGroupEvent(key, SET_COMMAND, kfvFieldsValues(kco));
if (op == REDIS_FLEX_COUNTER_COMMAND_DEL_GROUP)
return processFlexCounterGroupEvent(key, DEL_COMMAND, kfvFieldsValues(kco));
if (op == REDIS_ASIC_STATE_COMMAND_STATS_CAPABILITY_QUERY)
return processStatsCapabilityQuery(kco);
SWSS_LOG_THROW("event op '%s' is not implemented, FIXME", op.c_str());
}