From 134fd99504a38e3277a59893a24b58ffccd408b1 Mon Sep 17 00:00:00 2001 From: Lawrence Lee Date: Thu, 15 Feb 2024 22:38:33 +0000 Subject: [PATCH] Set SAI PL attribute based on ROUTING_TYPE Signed-off-by: Lawrence Lee --- orchagent/dash/dashvnetorch.cpp | 11 ++++------- tests/test_dash_pl.py | 4 ++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/orchagent/dash/dashvnetorch.cpp b/orchagent/dash/dashvnetorch.cpp index c34ec11672..40018f5115 100644 --- a/orchagent/dash/dashvnetorch.cpp +++ b/orchagent/dash/dashvnetorch.cpp @@ -295,13 +295,6 @@ void DashVnetOrch::addOutboundCaToPa(const string& key, VnetMapBulkContext& ctxt for (auto action: route_type_actions.items()) { - if (action.action_type() == dash::route_type::ACTION_TYPE_4_to_6) - { - outbound_ca_to_pa_attr.id = SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_ACTION; - outbound_ca_to_pa_attr.value.u32 = SAI_OUTBOUND_CA_TO_PA_ENTRY_ACTION_SET_PRIVATE_LINK_MAPPING; - outbound_ca_to_pa_attrs.push_back(outbound_ca_to_pa_attr); - } - if (action.action_type() == dash::route_type::ACTION_TYPE_STATICENCAP) { outbound_ca_to_pa_attr.id = SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_DASH_ENCAPSULATION; @@ -328,6 +321,10 @@ void DashVnetOrch::addOutboundCaToPa(const string& key, VnetMapBulkContext& ctxt if (ctxt.metadata.action_type() == dash::route_type::ROUTING_TYPE_PRIVATELINK) { + outbound_ca_to_pa_attr.id = SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_ACTION; + outbound_ca_to_pa_attr.value.u32 = SAI_OUTBOUND_CA_TO_PA_ENTRY_ACTION_SET_PRIVATE_LINK_MAPPING; + outbound_ca_to_pa_attrs.push_back(outbound_ca_to_pa_attr); + outbound_ca_to_pa_attr.id = SAI_OUTBOUND_CA_TO_PA_ENTRY_ATTR_UNDERLAY_DIP; to_sai(ctxt.metadata.underlay_ip(), outbound_ca_to_pa_attr.value.ipaddr); outbound_ca_to_pa_attrs.push_back(outbound_ca_to_pa_attr); diff --git a/tests/test_dash_pl.py b/tests/test_dash_pl.py index 9831b8ed6f..4e7aff9962 100644 --- a/tests/test_dash_pl.py +++ b/tests/test_dash_pl.py @@ -100,6 +100,8 @@ @pytest.fixture(scope='module', autouse=True) def common_setup_teardown(dash_db): + routing_type_msg = ParseDict(ROUTING_TYPE, RouteType()) + dash_db.create_routing_type("privatelink", {"pb": routing_type_msg.SerializeToString()}) pb = Vnet() pb.vni = int("45654") pb.guid.value = bytes.fromhex(uuid.UUID("559c6ce8-26ab-4193-b946-ccc6e8f930b2").hex) @@ -112,8 +114,6 @@ def common_setup_teardown(dash_db): eni_msg = ParseDict(ENI, Eni()) eni = "F4939FEFC47E" dash_db.create_eni(eni, {"pb": eni_msg.SerializeToString()}) - routing_type_msg = ParseDict(ROUTING_TYPE, RouteType()) - dash_db.create_routing_type("privatelink", {"pb": routing_type_msg.SerializeToString()}) vnet_mapping_msg = ParseDict(VNET_MAPPING, VnetMapping()) vnet_map_ip = "10.1.1.1" dash_db.create_vnet_map(vnet, vnet_map_ip, {"pb": vnet_mapping_msg.SerializeToString()})