Skip to content

Commit 9cd19a2

Browse files
authored
Merge branch 'master' into lag_id_conflict_issue
2 parents 4a0e6f8 + 90fcead commit 9cd19a2

File tree

7 files changed

+27
-17
lines changed

7 files changed

+27
-17
lines changed

orchagent/dash/dashvnetorch.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,7 @@ void DashVnetOrch::doTaskVnetTable(ConsumerBase& consumer)
274274
}
275275
}
276276

277-
void DashVnetOrch::addOutboundCaToPa(const string& key, VnetMapBulkContext& ctxt)
277+
bool DashVnetOrch::addOutboundCaToPa(const string& key, VnetMapBulkContext& ctxt)
278278
{
279279
SWSS_LOG_ENTER();
280280

@@ -291,6 +291,7 @@ void DashVnetOrch::addOutboundCaToPa(const string& key, VnetMapBulkContext& ctxt
291291
if (!dash_orch->getRouteTypeActions(ctxt.metadata.routing_type(), route_type_actions))
292292
{
293293
SWSS_LOG_INFO("Failed to get route type actions for %s", key.c_str());
294+
return false;
294295
}
295296

296297
for (auto action: route_type_actions.items())
@@ -309,7 +310,7 @@ void DashVnetOrch::addOutboundCaToPa(const string& key, VnetMapBulkContext& ctxt
309310
else
310311
{
311312
SWSS_LOG_ERROR("Invalid encap type %d for %s", action.encap_type(), key.c_str());
312-
return;
313+
return false;
313314
}
314315
outbound_ca_to_pa_attrs.push_back(outbound_ca_to_pa_attr);
315316

@@ -359,9 +360,10 @@ void DashVnetOrch::addOutboundCaToPa(const string& key, VnetMapBulkContext& ctxt
359360
object_statuses.emplace_back();
360361
outbound_ca_to_pa_bulker_.create_entry(&object_statuses.back(), &outbound_ca_to_pa_entry,
361362
(uint32_t)outbound_ca_to_pa_attrs.size(), outbound_ca_to_pa_attrs.data());
363+
return true;
362364
}
363365

364-
void DashVnetOrch::addPaValidation(const string& key, VnetMapBulkContext& ctxt)
366+
bool DashVnetOrch::addPaValidation(const string& key, VnetMapBulkContext& ctxt)
365367
{
366368
SWSS_LOG_ENTER();
367369

@@ -380,7 +382,7 @@ void DashVnetOrch::addPaValidation(const string& key, VnetMapBulkContext& ctxt)
380382
SWSS_LOG_INFO("Increment PA refcount to %u for PA IP %s",
381383
pa_refcount_table_[pa_ref_key],
382384
underlay_ip_str.c_str());
383-
return;
385+
return true;
384386
}
385387

386388
uint32_t attr_count = 1;
@@ -399,6 +401,7 @@ void DashVnetOrch::addPaValidation(const string& key, VnetMapBulkContext& ctxt)
399401
pa_refcount_table_[pa_ref_key] = 1;
400402
SWSS_LOG_INFO("Initialize PA refcount to 1 for PA IP %s",
401403
underlay_ip_str.c_str());
404+
return true;
402405
}
403406

404407
bool DashVnetOrch::addVnetMap(const string& key, VnetMapBulkContext& ctxt)
@@ -408,17 +411,14 @@ bool DashVnetOrch::addVnetMap(const string& key, VnetMapBulkContext& ctxt)
408411
bool exists = (vnet_map_table_.find(key) != vnet_map_table_.end());
409412
if (!exists)
410413
{
414+
411415
bool vnet_exists = (gVnetNameToId.find(ctxt.vnet_name) != gVnetNameToId.end());
412-
if (vnet_exists)
413-
{
414-
addOutboundCaToPa(key, ctxt);
415-
addPaValidation(key, ctxt);
416-
}
417-
else
416+
if (!vnet_exists)
418417
{
419418
SWSS_LOG_INFO("Not creating VNET map for %s since VNET %s doesn't exist", key.c_str(), ctxt.vnet_name.c_str());
419+
return false;
420420
}
421-
return false;
421+
return addOutboundCaToPa(key, ctxt) && addPaValidation(key, ctxt);
422422
}
423423
/*
424424
* If the VNET map is already added, don't add it to the bulker and

orchagent/dash/dashvnetorch.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,11 @@ class DashVnetOrch : public ZmqOrch
9191
bool addVnetPost(const std::string& key, const DashVnetBulkContext& ctxt);
9292
bool removeVnet(const std::string& key, DashVnetBulkContext& ctxt);
9393
bool removeVnetPost(const std::string& key, const DashVnetBulkContext& ctxt);
94-
void addOutboundCaToPa(const std::string& key, VnetMapBulkContext& ctxt);
94+
bool addOutboundCaToPa(const std::string& key, VnetMapBulkContext& ctxt);
9595
bool addOutboundCaToPaPost(const std::string& key, const VnetMapBulkContext& ctxt);
9696
void removeOutboundCaToPa(const std::string& key, VnetMapBulkContext& ctxt);
9797
bool removeOutboundCaToPaPost(const std::string& key, const VnetMapBulkContext& ctxt);
98-
void addPaValidation(const std::string& key, VnetMapBulkContext& ctxt);
98+
bool addPaValidation(const std::string& key, VnetMapBulkContext& ctxt);
9999
bool addPaValidationPost(const std::string& key, const VnetMapBulkContext& ctxt);
100100
void removePaValidation(const std::string& key, VnetMapBulkContext& ctxt);
101101
bool removePaValidationPost(const std::string& key, const VnetMapBulkContext& ctxt);

tests/dash/test_dash_pl.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@
3030

3131
@pytest.fixture(autouse=True)
3232
def common_setup_teardown(dash_db: DashDB):
33-
dash_db.set_app_db_entry(APP_DASH_ROUTING_TYPE_TABLE_NAME, PRIVATELINK, ROUTING_TYPE_PL_CONFIG)
3433
dash_db.set_app_db_entry(APP_DASH_APPLIANCE_TABLE_NAME, APPLIANCE_ID, APPLIANCE_CONFIG)
3534
dash_db.set_app_db_entry(APP_DASH_VNET_TABLE_NAME, VNET1, VNET_CONFIG)
3635
dash_db.set_app_db_entry(APP_DASH_ENI_TABLE_NAME, ENI_ID, ENI_CONFIG)
3736
dash_db.set_app_db_entry(APP_DASH_VNET_MAPPING_TABLE_NAME, VNET1, VNET_MAP_IP1, VNET_MAPPING_CONFIG_PRIVATELINK)
3837
dash_db.set_app_db_entry(APP_DASH_ROUTE_GROUP_TABLE_NAME, ROUTE_GROUP1, ROUTE_GROUP1_CONFIG)
38+
dash_db.set_app_db_entry(APP_DASH_ROUTING_TYPE_TABLE_NAME, PRIVATELINK, ROUTING_TYPE_PL_CONFIG)
3939
# Don't set DASH_ROUTE_TABLE and DASH_ENI_ROUTE_TABLE entries here for flexibility, test cases will set them as needed
4040

4141
yield
@@ -79,3 +79,4 @@ def test_pl_outbound_ca_to_pa_attrs(dash_db: DashDB):
7979
assert_sai_attribute_exists(SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_OVERLAY_DIP_MASK, outbound_attrs, PL_OVERLAY_DIP_MASK)
8080
assert_sai_attribute_exists(SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_TUNNEL_KEY, outbound_attrs, ENCAP_VNI)
8181
assert_sai_attribute_exists(SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_DASH_ENCAPSULATION, outbound_attrs, SAI_DASH_ENCAPSULATION_NVGRE)
82+
assert_sai_attribute_exists(SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_UNDERLAY_DIP, outbound_attrs, UNDERLAY_IP)

tests/dash/test_dash_route_group.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
APP_DASH_ROUTE_GROUP_TABLE_NAME,
1616
)
1717

18-
@pytest.fixture(scope='module', autouse=True)
18+
@pytest.fixture(autouse=True)
1919
def common_setup_teardown(dash_db: DashDB):
2020
dash_db.set_app_db_entry(APP_DASH_APPLIANCE_TABLE_NAME, APPLIANCE_ID, APPLIANCE_CONFIG)
2121
dash_db.set_app_db_entry(APP_DASH_ROUTING_TYPE_TABLE_NAME, PRIVATELINK, ROUTING_TYPE_PL_CONFIG)

tests/mock_tests/portsorch_ut.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,7 @@ namespace portsorch_test
656656
mockReply->element[2] = (redisReply *)calloc(sizeof(redisReply), 1);
657657
mockReply->element[2]->type = REDIS_REPLY_STRING;
658658
sai_port_oper_status_notification_t port_oper_status;
659+
memset(&port_oper_status, 0, sizeof(port_oper_status));
659660
port_oper_status.port_state = oper_status;
660661
port_oper_status.port_id = port.m_port_id;
661662
std::string data = sai_serialize_port_oper_status_ntf(1, &port_oper_status);

tests/mock_tests/switchorch_ut.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,9 @@ namespace switchorch_test
292292
initSwitchOrch();
293293

294294
sai_timespec_t timestamp = {.tv_sec = 1701160447, .tv_nsec = 538710245};
295-
sai_switch_health_data_t data = {.data_type = SAI_HEALTH_DATA_TYPE_GENERAL};
295+
sai_switch_health_data_t data;
296+
memset(&data, 0, sizeof(data));
297+
data.data_type = SAI_HEALTH_DATA_TYPE_GENERAL;
296298
vector<uint8_t> data_from_sai({100, 101, 115, 99, 114, 105, 112, 116, 105, 245, 111, 110, 245, 10, 123, 125, 100, 100});
297299
sai_u8_list_t description;
298300
description.list = data_from_sai.data();

tests/sai_attrs.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
SAI_DIRECTION_LOOKUP_ENTRY_ATTR_ACTION = "SAI_DIRECTION_LOOKUP_ENTRY_ATTR_ACTION"
2+
SAI_DIRECTION_LOOKUP_ENTRY_ACTION_SET_OUTBOUND_DIRECTION = "SAI_DIRECTION_LOOKUP_ENTRY_ACTION_SET_OUTBOUND_DIRECTION"
3+
14
SAI_ENI_ATTR_PL_SIP = 'SAI_ENI_ATTR_PL_SIP'
25
SAI_ENI_ATTR_PL_SIP_MASK = 'SAI_ENI_ATTR_PL_SIP_MASK'
36
SAI_ENI_ATTR_PL_UNDERLAY_SIP = 'SAI_ENI_ATTR_PL_UNDERLAY_SIP'
47
SAI_ENI_ATTR_OUTBOUND_ROUTING_GROUP_ID = 'SAI_ENI_ATTR_OUTBOUND_ROUTING_GROUP_ID'
8+
59
SAI_OUTBOUND_CA_TO_PA_ENTRY_ACTION_SET_TUNNEL_MAPPING = 'SAI_OUTBOUND_CA_TO_PA_ENTRY_ACTION_SET_TUNNEL_MAPPING'
610
SAI_OUTBOUND_CA_TO_PA_ENTRY_ACTION_SET_PRIVATE_LINK_MAPPING = 'SAI_OUTBOUND_CA_TO_PA_ENTRY_ACTION_SET_PRIVATE_LINK_MAPPING'
711
SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_OVERLAY_DIP = 'SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_OVERLAY_DIP'
@@ -13,5 +17,7 @@
1317
SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_OVERLAY_DIP_MASK = 'SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_OVERLAY_DIP_MASK'
1418
SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_DASH_ENCAPSULATION = 'SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_DASH_ENCAPSULATION'
1519
SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_TUNNEL_KEY = 'SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_TUNNEL_KEY'
20+
SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_UNDERLAY_DIP = 'SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_UNDERLAY_DIP'
1621
SAI_DASH_ENCAPSULATION_NVGRE = 'SAI_DASH_ENCAPSULATION_NVGRE'
17-
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_UNDERLAY_SIP = 'SAI_OUTBOUND_ROUTING_ENTRY_ATTR_UNDERLAY_SIP'
22+
23+
SAI_OUTBOUND_ROUTING_ENTRY_ATTR_UNDERLAY_SIP = 'SAI_OUTBOUND_ROUTING_ENTRY_ATTR_UNDERLAY_SIP'

0 commit comments

Comments
 (0)