Skip to content

Commit 40439b4

Browse files
authored
[syncd] Remove depreacated dependency on swss::RedisClient (#681)
1 parent 1b6fc2e commit 40439b4

File tree

2 files changed

+41
-46
lines changed

2 files changed

+41
-46
lines changed

syncd/RedisClient.cpp

+41-43
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ RedisClient::RedisClient(
2222
{
2323
SWSS_LOG_ENTER();
2424

25-
m_redisClient = std::make_shared<swss::RedisClient>(dbAsic.get());
26-
2725
std::string fdbFlushLuaScript = swss::loadLuaScript("fdb_flush.lua"); // TODO script must be updated to version 2
2826

2927
m_fdbFlushSha = swss::loadRedisScript(dbAsic.get(), fdbFlushLuaScript);
@@ -73,7 +71,7 @@ void RedisClient::clearLaneMap(
7371

7472
auto key = getRedisLanesKey(switchVid);
7573

76-
m_redisClient->del(key);
74+
m_dbAsic->del(key);
7775
}
7876

7977
std::unordered_map<sai_uint32_t, sai_object_id_t> RedisClient::getLaneMap(
@@ -83,7 +81,7 @@ std::unordered_map<sai_uint32_t, sai_object_id_t> RedisClient::getLaneMap(
8381

8482
auto key = getRedisLanesKey(switchVid);
8583

86-
auto hash = m_redisClient->hgetall(key);
84+
auto hash = m_dbAsic->hgetall(key);
8785

8886
SWSS_LOG_DEBUG("previous lanes: %lu", hash.size());
8987

@@ -125,7 +123,7 @@ void RedisClient::saveLaneMap(
125123

126124
auto key = getRedisLanesKey(switchVid);
127125

128-
m_redisClient->hset(key, strLane, strPortId);
126+
m_dbAsic->hset(key, strLane, strPortId);
129127
}
130128
}
131129

@@ -134,7 +132,7 @@ std::unordered_map<sai_object_id_t, sai_object_id_t> RedisClient::getObjectMap(
134132
{
135133
SWSS_LOG_ENTER();
136134

137-
auto hash = m_redisClient->hgetall(key);
135+
auto hash = m_dbAsic->hgetall(key);
138136

139137
std::unordered_map<sai_object_id_t, sai_object_id_t> map;
140138

@@ -227,7 +225,7 @@ void RedisClient::setDummyAsicStateObject(
227225

228226
std::string strKey = ASIC_STATE_TABLE + (":" + strObjectType + ":" + strVid);
229227

230-
m_redisClient->hset(strKey, "NULL", "NULL");
228+
m_dbAsic->hset(strKey, "NULL", "NULL");
231229
}
232230

233231
std::string RedisClient::getRedisColdVidsKey(
@@ -275,7 +273,7 @@ void RedisClient::saveColdBootDiscoveredVids(
275273

276274
std::string strVid = sai_serialize_object_id(vid);
277275

278-
m_redisClient->hset(key, strVid, strObjectType);
276+
m_dbAsic->hset(key, strVid, strObjectType);
279277
}
280278
}
281279

@@ -316,7 +314,7 @@ std::shared_ptr<std::string> RedisClient::getSwitchHiddenAttribute(
316314

317315
auto key = getRedisHiddenKey(switchVid);
318316

319-
return m_redisClient->hget(key, attrIdName);
317+
return m_dbAsic->hget(key, attrIdName);
320318
}
321319

322320
void RedisClient::saveSwitchHiddenAttribute(
@@ -330,7 +328,7 @@ void RedisClient::saveSwitchHiddenAttribute(
330328

331329
std::string strRid = sai_serialize_object_id(objectRid);
332330

333-
m_redisClient->hset(key, attrIdName, strRid);
331+
m_dbAsic->hset(key, attrIdName, strRid);
334332
}
335333

336334
std::set<sai_object_id_t> RedisClient::getColdVids(
@@ -340,7 +338,7 @@ std::set<sai_object_id_t> RedisClient::getColdVids(
340338

341339
auto key = getRedisColdVidsKey(switchVid);
342340

343-
auto hash = m_redisClient->hgetall(key);
341+
auto hash = m_dbAsic->hgetall(key);
344342

345343
/*
346344
* NOTE: some objects may not exists after 2nd restart, like VLAN_MEMBER or
@@ -360,7 +358,7 @@ std::set<sai_object_id_t> RedisClient::getColdVids(
360358
* Just make sure that vid in COLDVIDS is present in current vid2rid map
361359
*/
362360

363-
auto rid = m_redisClient->hget(VIDTORID, strVid);
361+
auto rid = m_dbAsic->hget(VIDTORID, strVid);
364362

365363
if (rid == nullptr)
366364
{
@@ -387,7 +385,7 @@ void RedisClient::setPortLanes(
387385
std::string strLane = sai_serialize_number(lane);
388386
std::string strPortRid = sai_serialize_object_id(portRid);
389387

390-
m_redisClient->hset(key, strLane, strPortRid);
388+
m_dbAsic->hset(key, strLane, strPortRid);
391389
}
392390
}
393391

@@ -400,7 +398,7 @@ size_t RedisClient::getAsicObjectsSize(
400398
// go N times on every switch and it can be slow, we need to find better
401399
// way to do this
402400

403-
auto keys = m_redisClient->keys(ASIC_STATE_TABLE ":*");
401+
auto keys = m_dbAsic->keys(ASIC_STATE_TABLE ":*");
404402

405403
size_t count = 0;
406404

@@ -444,7 +442,7 @@ int RedisClient::removePortFromLanesMap(
444442
{
445443
std::string strLane = sai_serialize_number(kv.first);
446444

447-
m_redisClient->hdel(key, strLane);
445+
m_dbAsic->hdel(key, strLane);
448446

449447
removed++;
450448
}
@@ -466,7 +464,7 @@ void RedisClient::removeAsicObject(
466464

467465
SWSS_LOG_INFO("removing ASIC DB key: %s", key.c_str());
468466

469-
m_redisClient->del(key);
467+
m_dbAsic->del(key);
470468
}
471469

472470
void RedisClient::removeAsicObject(
@@ -476,7 +474,7 @@ void RedisClient::removeAsicObject(
476474

477475
std::string key = (ASIC_STATE_TABLE ":") + sai_serialize_object_meta_key(metaKey);
478476

479-
m_redisClient->del(key);
477+
m_dbAsic->del(key);
480478
}
481479

482480
void RedisClient::removeTempAsicObject(
@@ -486,7 +484,7 @@ void RedisClient::removeTempAsicObject(
486484

487485
std::string key = (TEMP_PREFIX ASIC_STATE_TABLE ":") + sai_serialize_object_meta_key(metaKey);
488486

489-
m_redisClient->del(key);
487+
m_dbAsic->del(key);
490488
}
491489

492490
void RedisClient::setAsicObject(
@@ -498,7 +496,7 @@ void RedisClient::setAsicObject(
498496

499497
std::string key = (ASIC_STATE_TABLE ":") + sai_serialize_object_meta_key(metaKey);
500498

501-
m_redisClient->hset(key, attr, value);
499+
m_dbAsic->hset(key, attr, value);
502500
}
503501

504502
void RedisClient::setTempAsicObject(
@@ -510,7 +508,7 @@ void RedisClient::setTempAsicObject(
510508

511509
std::string key = (TEMP_PREFIX ASIC_STATE_TABLE ":") + sai_serialize_object_meta_key(metaKey);
512510

513-
m_redisClient->hset(key, attr, value);
511+
m_dbAsic->hset(key, attr, value);
514512
}
515513

516514
void RedisClient::createAsicObject(
@@ -523,13 +521,13 @@ void RedisClient::createAsicObject(
523521

524522
if (attrs.size() == 0)
525523
{
526-
m_redisClient->hset(key, "NULL", "NULL");
524+
m_dbAsic->hset(key, "NULL", "NULL");
527525
return;
528526
}
529527

530528
for (const auto& e: attrs)
531529
{
532-
m_redisClient->hset(key, fvField(e), fvValue(e));
530+
m_dbAsic->hset(key, fvField(e), fvValue(e));
533531
}
534532
}
535533

@@ -543,13 +541,13 @@ void RedisClient::createTempAsicObject(
543541

544542
if (attrs.size() == 0)
545543
{
546-
m_redisClient->hset(key, "NULL", "NULL");
544+
m_dbAsic->hset(key, "NULL", "NULL");
547545
return;
548546
}
549547

550548
for (const auto& e: attrs)
551549
{
552-
m_redisClient->hset(key, fvField(e), fvValue(e));
550+
m_dbAsic->hset(key, fvField(e), fvValue(e));
553551
}
554552
}
555553

@@ -558,31 +556,31 @@ void RedisClient::setVidAndRidMap(
558556
{
559557
SWSS_LOG_ENTER();
560558

561-
m_redisClient->del(VIDTORID);
562-
m_redisClient->del(RIDTOVID);
559+
m_dbAsic->del(VIDTORID);
560+
m_dbAsic->del(RIDTOVID);
563561

564562
for (auto &kv: map)
565563
{
566564
std::string strVid = sai_serialize_object_id(kv.first);
567565
std::string strRid = sai_serialize_object_id(kv.second);
568566

569-
m_redisClient->hset(VIDTORID, strVid, strRid);
570-
m_redisClient->hset(RIDTOVID, strRid, strVid);
567+
m_dbAsic->hset(VIDTORID, strVid, strRid);
568+
m_dbAsic->hset(RIDTOVID, strRid, strVid);
571569
}
572570
}
573571

574572
std::vector<std::string> RedisClient::getAsicStateKeys() const
575573
{
576574
SWSS_LOG_ENTER();
577575

578-
return m_redisClient->keys(ASIC_STATE_TABLE ":*");
576+
return m_dbAsic->keys(ASIC_STATE_TABLE ":*");
579577
}
580578

581579
std::vector<std::string> RedisClient::getAsicStateSwitchesKeys() const
582580
{
583581
SWSS_LOG_ENTER();
584582

585-
return m_redisClient->keys(ASIC_STATE_TABLE ":SAI_OBJECT_TYPE_SWITCH:*");
583+
return m_dbAsic->keys(ASIC_STATE_TABLE ":SAI_OBJECT_TYPE_SWITCH:*");
586584
}
587585

588586
void RedisClient::removeColdVid(
@@ -592,22 +590,22 @@ void RedisClient::removeColdVid(
592590

593591
auto strVid = sai_serialize_object_id(vid);
594592

595-
m_redisClient->hdel(COLDVIDS, strVid);
593+
m_dbAsic->hdel(COLDVIDS, strVid);
596594
}
597595

598596
std::unordered_map<std::string, std::string> RedisClient::getAttributesFromAsicKey(
599597
_In_ const std::string& key) const
600598
{
601599
SWSS_LOG_ENTER();
602600

603-
return m_redisClient->hgetall(key);
601+
return m_dbAsic->hgetall(key);
604602
}
605603

606604
bool RedisClient::hasNoHiddenKeysDefined() const
607605
{
608606
SWSS_LOG_ENTER();
609607

610-
auto keys = m_redisClient->keys(HIDDEN "*");
608+
auto keys = m_dbAsic->keys(HIDDEN "*");
611609

612610
return keys.size() == 0;
613611
}
@@ -621,8 +619,8 @@ void RedisClient::removeVidAndRid(
621619
auto strVid = sai_serialize_object_id(vid);
622620
auto strRid = sai_serialize_object_id(rid);
623621

624-
m_redisClient->hdel(VIDTORID, strVid);
625-
m_redisClient->hdel(RIDTOVID, strRid);
622+
m_dbAsic->hdel(VIDTORID, strVid);
623+
m_dbAsic->hdel(RIDTOVID, strRid);
626624
}
627625

628626
void RedisClient::insertVidAndRid(
@@ -634,8 +632,8 @@ void RedisClient::insertVidAndRid(
634632
auto strVid = sai_serialize_object_id(vid);
635633
auto strRid = sai_serialize_object_id(rid);
636634

637-
m_redisClient->hset(VIDTORID, strVid, strRid);
638-
m_redisClient->hset(RIDTOVID, strRid, strVid);
635+
m_dbAsic->hset(VIDTORID, strVid, strRid);
636+
m_dbAsic->hset(RIDTOVID, strRid, strVid);
639637
}
640638

641639
sai_object_id_t RedisClient::getVidForRid(
@@ -645,7 +643,7 @@ sai_object_id_t RedisClient::getVidForRid(
645643

646644
auto strRid = sai_serialize_object_id(rid);
647645

648-
auto pvid = m_redisClient->hget(RIDTOVID, strRid);
646+
auto pvid = m_dbAsic->hget(RIDTOVID, strRid);
649647

650648
if (pvid == nullptr)
651649
{
@@ -669,7 +667,7 @@ sai_object_id_t RedisClient::getRidForVid(
669667

670668
auto strVid = sai_serialize_object_id(vid);
671669

672-
auto prid = m_redisClient->hget(VIDTORID, strVid);
670+
auto prid = m_dbAsic->hget(VIDTORID, strVid);
673671

674672
if (prid == nullptr)
675673
{
@@ -690,23 +688,23 @@ void RedisClient::removeAsicStateTable()
690688
{
691689
SWSS_LOG_ENTER();
692690

693-
const auto &asicStateKeys = m_redisClient->keys(ASIC_STATE_TABLE ":*");
691+
const auto &asicStateKeys = m_dbAsic->keys(ASIC_STATE_TABLE ":*");
694692

695693
for (const auto &key: asicStateKeys)
696694
{
697-
m_redisClient->del(key);
695+
m_dbAsic->del(key);
698696
}
699697
}
700698

701699
void RedisClient::removeTempAsicStateTable()
702700
{
703701
SWSS_LOG_ENTER();
704702

705-
const auto &tempAsicStateKeys = m_redisClient->keys(TEMP_PREFIX ASIC_STATE_TABLE ":*");
703+
const auto &tempAsicStateKeys = m_dbAsic->keys(TEMP_PREFIX ASIC_STATE_TABLE ":*");
706704

707705
for (const auto &key: tempAsicStateKeys)
708706
{
709-
m_redisClient->del(key);
707+
m_dbAsic->del(key);
710708
}
711709
}
712710

syncd/RedisClient.h

-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ extern "C" {
55
}
66

77
#include "swss/table.h"
8-
#include "swss/redisclient.h"
98

109
#include <string>
1110
#include <unordered_map>
@@ -166,8 +165,6 @@ namespace syncd
166165

167166
private:
168167

169-
std::shared_ptr<swss::RedisClient> m_redisClient;
170-
171168
std::shared_ptr<swss::DBConnector> m_dbAsic;
172169

173170
std::string m_fdbFlushSha;

0 commit comments

Comments
 (0)