Skip to content

Commit c1f53c5

Browse files
Merge branch 'master' into set_ip_nexthop_and_disable_rewrites
2 parents aba1104 + e108aec commit c1f53c5

8 files changed

Lines changed: 1227 additions & 376 deletions

File tree

orchagent/dash/dashorch.cpp

Lines changed: 140 additions & 102 deletions
Large diffs are not rendered by default.

orchagent/dash/dashorch.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,18 +84,18 @@ class DashOrch : public ZmqOrch
8484
void doTaskEniRouteTable(ConsumerBase &consumer);
8585
void doTaskRouteGroupTable(ConsumerBase &consumer);
8686
bool addApplianceEntry(const std::string& appliance_id, const dash::appliance::Appliance &entry);
87-
void addApplianceTrustedVni(const std::string& appliance_id, const dash::appliance::Appliance& entry);
87+
bool addApplianceTrustedVni(const std::string& appliance_id, const dash::appliance::Appliance& entry);
8888
bool removeApplianceEntry(const std::string& appliance_id);
89-
void removeApplianceTrustedVni(const std::string& appliance_id, const dash::appliance::Appliance& entry);
89+
bool removeApplianceTrustedVni(const std::string& appliance_id, const dash::appliance::Appliance& entry);
9090
bool addRoutingTypeEntry(const dash::route_type::RoutingType &routing_type, const dash::route_type::RouteType &entry);
9191
bool removeRoutingTypeEntry(const dash::route_type::RoutingType &routing_type);
9292
bool addEniObject(const std::string& eni, EniEntry& entry);
9393
bool addEniAddrMapEntry(const std::string& eni, const EniEntry& entry);
94-
void addEniTrustedVnis(const std::string& eni, const EniEntry& entry);
94+
bool addEniTrustedVnis(const std::string& eni, const EniEntry& entry);
9595
bool addEni(const std::string& eni, EniEntry &entry);
9696
bool removeEniObject(const std::string& eni);
9797
bool removeEniAddrMapEntry(const std::string& eni);
98-
void removeEniTrustedVnis(const std::string& eni, const EniEntry& entry);
98+
bool removeEniTrustedVnis(const std::string& eni, const EniEntry& entry);
9999
bool removeEni(const std::string& eni);
100100
bool setEniAdminState(const std::string& eni, const EniEntry& entry);
101101
bool addQosEntry(const std::string& qos_name, const dash::qos::Qos &entry);

orchagent/p4orch/route_manager.cpp

Lines changed: 253 additions & 115 deletions
Large diffs are not rendered by default.

orchagent/p4orch/tests/route_manager_test.cpp

Lines changed: 539 additions & 7 deletions
Large diffs are not rendered by default.

tests/mock_tests/dashorch_ut.cpp

Lines changed: 267 additions & 148 deletions
Large diffs are not rendered by default.

tests/mock_tests/mock_orch_test.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,22 @@ void MockOrchTest::PostSetUp() {}
1010
void MockOrchTest::PreTearDown() {}
1111
void MockOrchTest::ApplySaiMock() {}
1212

13+
void MockOrchTest::initTestLogger(const std::string &appName, int minPrio)
14+
{
15+
const char *syslogStdout = std::getenv("SWSS_SYSLOG_STDOUT");
16+
if (syslogStdout != nullptr && std::string(syslogStdout) == "1")
17+
{
18+
static std::once_flag loggerInitFlag;
19+
20+
std::call_once(loggerInitFlag, [&appName]() {
21+
swss::Logger::linkToDbNative(appName);
22+
});
23+
24+
swss::Logger::swssOutputNotify("orchagent", "STDOUT");
25+
swss::Logger::setMinPrio(static_cast<swss::Logger::Priority>(minPrio));
26+
}
27+
}
28+
1329
void MockOrchTest::PrepareSai()
1430
{
1531
sai_attribute_t attr;
@@ -61,6 +77,8 @@ void MockOrchTest::PrepareSai()
6177

6278
void MockOrchTest::SetUp()
6379
{
80+
initTestLogger();
81+
6482
map<string, string> profile = {
6583
{ "SAI_VS_SWITCH_TYPE", "SAI_VS_SWITCH_TYPE_BCM56850" },
6684
{ "KV_DEVICE_MAC_ADDRESS", "20:03:04:05:06:00" }

tests/mock_tests/mock_orch_test.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,6 @@ namespace mock_orch_test
6969
virtual void PostSetUp();
7070
virtual void PreTearDown();
7171
virtual void ApplySaiMock();
72+
void initTestLogger(const std::string &appName = "mock_tests", int minPrio = swss::Logger::SWSS_INFO);
7273
};
7374
}

tests/mock_tests/mock_subscriberstatetable.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ namespace swss
66
ConsumerTableBase(db, tableName, popBatchSize, pri),
77
m_table(db, tableName)
88
{
9+
m_keyspace = "__keyspace@";
10+
11+
m_keyspace += std::to_string(db->getDbId()) + "__:" + tableName + m_table.getTableNameSeparator() + "*";
12+
13+
psubscribe(m_db, m_keyspace);
914
}
1015

1116
void SubscriberStateTable::pops(std::deque<KeyOpFieldsValuesTuple> &vkco, const std::string& /*prefix*/)

0 commit comments

Comments
 (0)