|
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 "flowcounterrouteorch.h"
|
16 | 15 |
|
@@ -59,8 +58,6 @@ unordered_map<string, string> flexCounterGroupMap =
|
59 | 58 | FlexCounterOrch::FlexCounterOrch(DBConnector *db, vector<string> &tableNames):
|
60 | 59 | Orch(db, tableNames),
|
61 | 60 | m_flexCounterConfigTable(db, CFG_FLEX_COUNTER_TABLE_NAME),
|
62 |
| - m_bufferQueueConfigTable(db, CFG_BUFFER_QUEUE_TABLE_NAME), |
63 |
| - m_bufferPgConfigTable(db, CFG_BUFFER_PG_TABLE_NAME), |
64 | 61 | m_flexCounterDb(new DBConnector("FLEX_COUNTER_DB", 0)),
|
65 | 62 | m_flexCounterGroupTable(new ProducerTable(m_flexCounterDb.get(), FLEX_COUNTER_GROUP_TABLE))
|
66 | 63 | {
|
@@ -147,13 +144,11 @@ void FlexCounterOrch::doTask(Consumer &consumer)
|
147 | 144 | }
|
148 | 145 | else if(key == QUEUE_KEY)
|
149 | 146 | {
|
150 |
| - gPortsOrch->generateQueueMap(getQueueConfigurations()); |
151 |
| - m_queue_enabled = true; |
| 147 | + gPortsOrch->generateQueueMap(); |
152 | 148 | }
|
153 | 149 | else if(key == PG_WATERMARK_KEY)
|
154 | 150 | {
|
155 |
| - gPortsOrch->generatePriorityGroupMap(getPgConfigurations()); |
156 |
| - m_pg_watermark_enabled = true; |
| 151 | + gPortsOrch->generatePriorityGroupMap(); |
157 | 152 | }
|
158 | 153 | }
|
159 | 154 | if(gIntfsOrch && (key == RIF_KEY) && (value == "enable"))
|
@@ -235,16 +230,6 @@ bool FlexCounterOrch::getPortBufferDropCountersState() const
|
235 | 230 | return m_port_buffer_drop_counter_enabled;
|
236 | 231 | }
|
237 | 232 |
|
238 |
| -bool FlexCounterOrch::getPgWatermarkCountersState() const |
239 |
| -{ |
240 |
| - return m_pg_watermark_enabled; |
241 |
| -} |
242 |
| - |
243 |
| -bool FlexCounterOrch::getQueueCountersState() const |
244 |
| -{ |
245 |
| - return m_queue_enabled; |
246 |
| -} |
247 |
| - |
248 | 233 | bool FlexCounterOrch::bake()
|
249 | 234 | {
|
250 | 235 | /*
|
@@ -286,165 +271,3 @@ bool FlexCounterOrch::bake()
|
286 | 271 | Consumer* consumer = dynamic_cast<Consumer *>(getExecutor(CFG_FLEX_COUNTER_TABLE_NAME));
|
287 | 272 | return consumer->addToSync(entries);
|
288 | 273 | }
|
289 |
| - |
290 |
| -map<string, FlexCounterQueueStates> FlexCounterOrch::getQueueConfigurations() |
291 |
| -{ |
292 |
| - SWSS_LOG_ENTER(); |
293 |
| - |
294 |
| - map<string, FlexCounterQueueStates> queuesStateVector; |
295 |
| - std::vector<std::string> portQueueKeys; |
296 |
| - m_bufferQueueConfigTable.getKeys(portQueueKeys); |
297 |
| - |
298 |
| - for (const auto& portQueueKey : portQueueKeys) |
299 |
| - { |
300 |
| - auto toks = tokenize(portQueueKey, '|'); |
301 |
| - if (toks.size() != 2) |
302 |
| - { |
303 |
| - SWSS_LOG_ERROR("Invalid BUFFER_QUEUE key: [%s]", portQueueKey.c_str()); |
304 |
| - continue; |
305 |
| - } |
306 |
| - |
307 |
| - auto configPortNames = tokenize(toks[0], ','); |
308 |
| - auto configPortQueues = toks[1]; |
309 |
| - toks = tokenize(configPortQueues, '-'); |
310 |
| - |
311 |
| - for (const auto& configPortName : configPortNames) |
312 |
| - { |
313 |
| - uint32_t maxQueueNumber = gPortsOrch->getNumberOfPortSupportedQueueCounters(configPortName); |
314 |
| - uint32_t maxQueueIndex = maxQueueNumber - 1; |
315 |
| - uint32_t minQueueIndex = 0; |
316 |
| - |
317 |
| - if (!queuesStateVector.count(configPortName)) |
318 |
| - { |
319 |
| - FlexCounterQueueStates flexCounterQueueState(maxQueueNumber); |
320 |
| - queuesStateVector.insert(make_pair(configPortName, flexCounterQueueState)); |
321 |
| - } |
322 |
| - |
323 |
| - try { |
324 |
| - auto startIndex = to_uint<uint32_t>(toks[0], minQueueIndex, maxQueueIndex); |
325 |
| - if (toks.size() > 1) |
326 |
| - { |
327 |
| - auto endIndex = to_uint<uint32_t>(toks[1], minQueueIndex, maxQueueIndex); |
328 |
| - queuesStateVector.at(configPortName).enableQueueCounters(startIndex, endIndex); |
329 |
| - } |
330 |
| - else |
331 |
| - { |
332 |
| - queuesStateVector.at(configPortName).enableQueueCounter(startIndex); |
333 |
| - } |
334 |
| - } catch (std::invalid_argument const& e) { |
335 |
| - SWSS_LOG_ERROR("Invalid queue index [%s] for port [%s]", configPortQueues.c_str(), configPortName.c_str()); |
336 |
| - continue; |
337 |
| - } |
338 |
| - } |
339 |
| - } |
340 |
| - |
341 |
| - return queuesStateVector; |
342 |
| -} |
343 |
| - |
344 |
| -map<string, FlexCounterPgStates> FlexCounterOrch::getPgConfigurations() |
345 |
| -{ |
346 |
| - SWSS_LOG_ENTER(); |
347 |
| - |
348 |
| - map<string, FlexCounterPgStates> pgsStateVector; |
349 |
| - std::vector<std::string> portPgKeys; |
350 |
| - m_bufferPgConfigTable.getKeys(portPgKeys); |
351 |
| - |
352 |
| - for (const auto& portPgKey : portPgKeys) |
353 |
| - { |
354 |
| - auto toks = tokenize(portPgKey, '|'); |
355 |
| - if (toks.size() != 2) |
356 |
| - { |
357 |
| - SWSS_LOG_ERROR("Invalid BUFFER_PG key: [%s]", portPgKey.c_str()); |
358 |
| - continue; |
359 |
| - } |
360 |
| - |
361 |
| - auto configPortNames = tokenize(toks[0], ','); |
362 |
| - auto configPortPgs = toks[1]; |
363 |
| - toks = tokenize(configPortPgs, '-'); |
364 |
| - |
365 |
| - for (const auto& configPortName : configPortNames) |
366 |
| - { |
367 |
| - uint32_t maxPgNumber = gPortsOrch->getNumberOfPortSupportedPgCounters(configPortName); |
368 |
| - uint32_t maxPgIndex = maxPgNumber - 1; |
369 |
| - uint32_t minPgIndex = 0; |
370 |
| - |
371 |
| - if (!pgsStateVector.count(configPortName)) |
372 |
| - { |
373 |
| - FlexCounterPgStates flexCounterPgState(maxPgNumber); |
374 |
| - pgsStateVector.insert(make_pair(configPortName, flexCounterPgState)); |
375 |
| - } |
376 |
| - |
377 |
| - try { |
378 |
| - auto startIndex = to_uint<uint32_t>(toks[0], minPgIndex, maxPgIndex); |
379 |
| - if (toks.size() > 1) |
380 |
| - { |
381 |
| - auto endIndex = to_uint<uint32_t>(toks[1], minPgIndex, maxPgIndex); |
382 |
| - pgsStateVector.at(configPortName).enablePgCounters(startIndex, endIndex); |
383 |
| - } |
384 |
| - else |
385 |
| - { |
386 |
| - pgsStateVector.at(configPortName).enablePgCounter(startIndex); |
387 |
| - } |
388 |
| - } catch (std::invalid_argument const& e) { |
389 |
| - SWSS_LOG_ERROR("Invalid pg index [%s] for port [%s]", configPortPgs.c_str(), configPortName.c_str()); |
390 |
| - continue; |
391 |
| - } |
392 |
| - } |
393 |
| - } |
394 |
| - |
395 |
| - return pgsStateVector; |
396 |
| -} |
397 |
| - |
398 |
| -FlexCounterQueueStates::FlexCounterQueueStates(uint32_t maxQueueNumber) |
399 |
| -{ |
400 |
| - SWSS_LOG_ENTER(); |
401 |
| - m_queueStates.resize(maxQueueNumber, false); |
402 |
| -} |
403 |
| - |
404 |
| -bool FlexCounterQueueStates::isQueueCounterEnabled(uint32_t index) const |
405 |
| -{ |
406 |
| - SWSS_LOG_ENTER(); |
407 |
| - return m_queueStates[index]; |
408 |
| -} |
409 |
| - |
410 |
| -void FlexCounterQueueStates::enableQueueCounters(uint32_t startIndex, uint32_t endIndex) |
411 |
| -{ |
412 |
| - SWSS_LOG_ENTER(); |
413 |
| - for (uint32_t queueIndex = startIndex; queueIndex <= endIndex; queueIndex++) |
414 |
| - { |
415 |
| - enableQueueCounter(queueIndex); |
416 |
| - } |
417 |
| -} |
418 |
| - |
419 |
| -void FlexCounterQueueStates::enableQueueCounter(uint32_t queueIndex) |
420 |
| -{ |
421 |
| - SWSS_LOG_ENTER(); |
422 |
| - m_queueStates[queueIndex] = true; |
423 |
| -} |
424 |
| - |
425 |
| -FlexCounterPgStates::FlexCounterPgStates(uint32_t maxPgNumber) |
426 |
| -{ |
427 |
| - SWSS_LOG_ENTER(); |
428 |
| - m_pgStates.resize(maxPgNumber, false); |
429 |
| -} |
430 |
| - |
431 |
| -bool FlexCounterPgStates::isPgCounterEnabled(uint32_t index) const |
432 |
| -{ |
433 |
| - SWSS_LOG_ENTER(); |
434 |
| - return m_pgStates[index]; |
435 |
| -} |
436 |
| - |
437 |
| -void FlexCounterPgStates::enablePgCounters(uint32_t startIndex, uint32_t endIndex) |
438 |
| -{ |
439 |
| - SWSS_LOG_ENTER(); |
440 |
| - for (uint32_t pgIndex = startIndex; pgIndex <= endIndex; pgIndex++) |
441 |
| - { |
442 |
| - enablePgCounter(pgIndex); |
443 |
| - } |
444 |
| -} |
445 |
| - |
446 |
| -void FlexCounterPgStates::enablePgCounter(uint32_t pgIndex) |
447 |
| -{ |
448 |
| - SWSS_LOG_ENTER(); |
449 |
| - m_pgStates[pgIndex] = true; |
450 |
| -} |
0 commit comments