|
10 | 10 | #include "debugcounterorch.h"
|
11 | 11 | #include "directory.h"
|
12 | 12 | #include "copporch.h"
|
13 |
| -#include <swss/tokenize.h> |
14 | 13 | #include "routeorch.h"
|
15 | 14 | #include "macsecorch.h"
|
16 | 15 | #include "flowcounterrouteorch.h"
|
@@ -63,8 +62,6 @@ unordered_map<string, string> flexCounterGroupMap =
|
63 | 62 | FlexCounterOrch::FlexCounterOrch(DBConnector *db, vector<string> &tableNames):
|
64 | 63 | Orch(db, tableNames),
|
65 | 64 | m_flexCounterConfigTable(db, CFG_FLEX_COUNTER_TABLE_NAME),
|
66 |
| - m_bufferQueueConfigTable(db, CFG_BUFFER_QUEUE_TABLE_NAME), |
67 |
| - m_bufferPgConfigTable(db, CFG_BUFFER_PG_TABLE_NAME), |
68 | 65 | m_flexCounterDb(new DBConnector("FLEX_COUNTER_DB", 0)),
|
69 | 66 | m_flexCounterGroupTable(new ProducerTable(m_flexCounterDb.get(), FLEX_COUNTER_GROUP_TABLE)),
|
70 | 67 | m_gbflexCounterDb(new DBConnector("GB_FLEX_COUNTER_DB", 0)),
|
@@ -160,13 +157,11 @@ void FlexCounterOrch::doTask(Consumer &consumer)
|
160 | 157 | }
|
161 | 158 | else if(key == QUEUE_KEY)
|
162 | 159 | {
|
163 |
| - gPortsOrch->generateQueueMap(getQueueConfigurations()); |
164 |
| - m_queue_enabled = true; |
| 160 | + gPortsOrch->generateQueueMap(); |
165 | 161 | }
|
166 | 162 | else if(key == PG_WATERMARK_KEY)
|
167 | 163 | {
|
168 |
| - gPortsOrch->generatePriorityGroupMap(getPgConfigurations()); |
169 |
| - m_pg_watermark_enabled = true; |
| 164 | + gPortsOrch->generatePriorityGroupMap(); |
170 | 165 | }
|
171 | 166 | }
|
172 | 167 | if(gIntfsOrch && (key == RIF_KEY) && (value == "enable"))
|
@@ -250,16 +245,6 @@ bool FlexCounterOrch::getPortBufferDropCountersState() const
|
250 | 245 | return m_port_buffer_drop_counter_enabled;
|
251 | 246 | }
|
252 | 247 |
|
253 |
| -bool FlexCounterOrch::getPgWatermarkCountersState() const |
254 |
| -{ |
255 |
| - return m_pg_watermark_enabled; |
256 |
| -} |
257 |
| - |
258 |
| -bool FlexCounterOrch::getQueueCountersState() const |
259 |
| -{ |
260 |
| - return m_queue_enabled; |
261 |
| -} |
262 |
| - |
263 | 248 | bool FlexCounterOrch::bake()
|
264 | 249 | {
|
265 | 250 | /*
|
@@ -301,165 +286,3 @@ bool FlexCounterOrch::bake()
|
301 | 286 | Consumer* consumer = dynamic_cast<Consumer *>(getExecutor(CFG_FLEX_COUNTER_TABLE_NAME));
|
302 | 287 | return consumer->addToSync(entries);
|
303 | 288 | }
|
304 |
| - |
305 |
| -map<string, FlexCounterQueueStates> FlexCounterOrch::getQueueConfigurations() |
306 |
| -{ |
307 |
| - SWSS_LOG_ENTER(); |
308 |
| - |
309 |
| - map<string, FlexCounterQueueStates> queuesStateVector; |
310 |
| - std::vector<std::string> portQueueKeys; |
311 |
| - m_bufferQueueConfigTable.getKeys(portQueueKeys); |
312 |
| - |
313 |
| - for (const auto& portQueueKey : portQueueKeys) |
314 |
| - { |
315 |
| - auto toks = tokenize(portQueueKey, '|'); |
316 |
| - if (toks.size() != 2) |
317 |
| - { |
318 |
| - SWSS_LOG_ERROR("Invalid BUFFER_QUEUE key: [%s]", portQueueKey.c_str()); |
319 |
| - continue; |
320 |
| - } |
321 |
| - |
322 |
| - auto configPortNames = tokenize(toks[0], ','); |
323 |
| - auto configPortQueues = toks[1]; |
324 |
| - toks = tokenize(configPortQueues, '-'); |
325 |
| - |
326 |
| - for (const auto& configPortName : configPortNames) |
327 |
| - { |
328 |
| - uint32_t maxQueueNumber = gPortsOrch->getNumberOfPortSupportedQueueCounters(configPortName); |
329 |
| - uint32_t maxQueueIndex = maxQueueNumber - 1; |
330 |
| - uint32_t minQueueIndex = 0; |
331 |
| - |
332 |
| - if (!queuesStateVector.count(configPortName)) |
333 |
| - { |
334 |
| - FlexCounterQueueStates flexCounterQueueState(maxQueueNumber); |
335 |
| - queuesStateVector.insert(make_pair(configPortName, flexCounterQueueState)); |
336 |
| - } |
337 |
| - |
338 |
| - try { |
339 |
| - auto startIndex = to_uint<uint32_t>(toks[0], minQueueIndex, maxQueueIndex); |
340 |
| - if (toks.size() > 1) |
341 |
| - { |
342 |
| - auto endIndex = to_uint<uint32_t>(toks[1], minQueueIndex, maxQueueIndex); |
343 |
| - queuesStateVector.at(configPortName).enableQueueCounters(startIndex, endIndex); |
344 |
| - } |
345 |
| - else |
346 |
| - { |
347 |
| - queuesStateVector.at(configPortName).enableQueueCounter(startIndex); |
348 |
| - } |
349 |
| - } catch (std::invalid_argument const& e) { |
350 |
| - SWSS_LOG_ERROR("Invalid queue index [%s] for port [%s]", configPortQueues.c_str(), configPortName.c_str()); |
351 |
| - continue; |
352 |
| - } |
353 |
| - } |
354 |
| - } |
355 |
| - |
356 |
| - return queuesStateVector; |
357 |
| -} |
358 |
| - |
359 |
| -map<string, FlexCounterPgStates> FlexCounterOrch::getPgConfigurations() |
360 |
| -{ |
361 |
| - SWSS_LOG_ENTER(); |
362 |
| - |
363 |
| - map<string, FlexCounterPgStates> pgsStateVector; |
364 |
| - std::vector<std::string> portPgKeys; |
365 |
| - m_bufferPgConfigTable.getKeys(portPgKeys); |
366 |
| - |
367 |
| - for (const auto& portPgKey : portPgKeys) |
368 |
| - { |
369 |
| - auto toks = tokenize(portPgKey, '|'); |
370 |
| - if (toks.size() != 2) |
371 |
| - { |
372 |
| - SWSS_LOG_ERROR("Invalid BUFFER_PG key: [%s]", portPgKey.c_str()); |
373 |
| - continue; |
374 |
| - } |
375 |
| - |
376 |
| - auto configPortNames = tokenize(toks[0], ','); |
377 |
| - auto configPortPgs = toks[1]; |
378 |
| - toks = tokenize(configPortPgs, '-'); |
379 |
| - |
380 |
| - for (const auto& configPortName : configPortNames) |
381 |
| - { |
382 |
| - uint32_t maxPgNumber = gPortsOrch->getNumberOfPortSupportedPgCounters(configPortName); |
383 |
| - uint32_t maxPgIndex = maxPgNumber - 1; |
384 |
| - uint32_t minPgIndex = 0; |
385 |
| - |
386 |
| - if (!pgsStateVector.count(configPortName)) |
387 |
| - { |
388 |
| - FlexCounterPgStates flexCounterPgState(maxPgNumber); |
389 |
| - pgsStateVector.insert(make_pair(configPortName, flexCounterPgState)); |
390 |
| - } |
391 |
| - |
392 |
| - try { |
393 |
| - auto startIndex = to_uint<uint32_t>(toks[0], minPgIndex, maxPgIndex); |
394 |
| - if (toks.size() > 1) |
395 |
| - { |
396 |
| - auto endIndex = to_uint<uint32_t>(toks[1], minPgIndex, maxPgIndex); |
397 |
| - pgsStateVector.at(configPortName).enablePgCounters(startIndex, endIndex); |
398 |
| - } |
399 |
| - else |
400 |
| - { |
401 |
| - pgsStateVector.at(configPortName).enablePgCounter(startIndex); |
402 |
| - } |
403 |
| - } catch (std::invalid_argument const& e) { |
404 |
| - SWSS_LOG_ERROR("Invalid pg index [%s] for port [%s]", configPortPgs.c_str(), configPortName.c_str()); |
405 |
| - continue; |
406 |
| - } |
407 |
| - } |
408 |
| - } |
409 |
| - |
410 |
| - return pgsStateVector; |
411 |
| -} |
412 |
| - |
413 |
| -FlexCounterQueueStates::FlexCounterQueueStates(uint32_t maxQueueNumber) |
414 |
| -{ |
415 |
| - SWSS_LOG_ENTER(); |
416 |
| - m_queueStates.resize(maxQueueNumber, false); |
417 |
| -} |
418 |
| - |
419 |
| -bool FlexCounterQueueStates::isQueueCounterEnabled(uint32_t index) const |
420 |
| -{ |
421 |
| - SWSS_LOG_ENTER(); |
422 |
| - return m_queueStates[index]; |
423 |
| -} |
424 |
| - |
425 |
| -void FlexCounterQueueStates::enableQueueCounters(uint32_t startIndex, uint32_t endIndex) |
426 |
| -{ |
427 |
| - SWSS_LOG_ENTER(); |
428 |
| - for (uint32_t queueIndex = startIndex; queueIndex <= endIndex; queueIndex++) |
429 |
| - { |
430 |
| - enableQueueCounter(queueIndex); |
431 |
| - } |
432 |
| -} |
433 |
| - |
434 |
| -void FlexCounterQueueStates::enableQueueCounter(uint32_t queueIndex) |
435 |
| -{ |
436 |
| - SWSS_LOG_ENTER(); |
437 |
| - m_queueStates[queueIndex] = true; |
438 |
| -} |
439 |
| - |
440 |
| -FlexCounterPgStates::FlexCounterPgStates(uint32_t maxPgNumber) |
441 |
| -{ |
442 |
| - SWSS_LOG_ENTER(); |
443 |
| - m_pgStates.resize(maxPgNumber, false); |
444 |
| -} |
445 |
| - |
446 |
| -bool FlexCounterPgStates::isPgCounterEnabled(uint32_t index) const |
447 |
| -{ |
448 |
| - SWSS_LOG_ENTER(); |
449 |
| - return m_pgStates[index]; |
450 |
| -} |
451 |
| - |
452 |
| -void FlexCounterPgStates::enablePgCounters(uint32_t startIndex, uint32_t endIndex) |
453 |
| -{ |
454 |
| - SWSS_LOG_ENTER(); |
455 |
| - for (uint32_t pgIndex = startIndex; pgIndex <= endIndex; pgIndex++) |
456 |
| - { |
457 |
| - enablePgCounter(pgIndex); |
458 |
| - } |
459 |
| -} |
460 |
| - |
461 |
| -void FlexCounterPgStates::enablePgCounter(uint32_t pgIndex) |
462 |
| -{ |
463 |
| - SWSS_LOG_ENTER(); |
464 |
| - m_pgStates[pgIndex] = true; |
465 |
| -} |
0 commit comments