diff --git a/lib/src/context_config.json b/lib/src/context_config.json index 21a013dba123..992b5a6bbe3c 100644 --- a/lib/src/context_config.json +++ b/lib/src/context_config.json @@ -21,10 +21,10 @@ { "guid" : 1, "name" : "syncd1", - "dbAsic" : "GB_ASIC_DB", - "dbCounters" : "GB_COUNTERS_DB", - "dbFlex": "GB_FLEX_COUNTER_DB", - "dbState" : "STATE_DB", + "dbAsic" : "ASIC_DB2", + "dbCounters" : "COUNTERS_DB2", + "dbFlex": "FLEX_COUNTER_DB2", + "dbState" : "STATE_DB2", "switches": [ { "index" : 0, diff --git a/lib/src/sai_redis_switch.cpp b/lib/src/sai_redis_switch.cpp index 35f74e626ca0..3cafc6dc8223 100644 --- a/lib/src/sai_redis_switch.cpp +++ b/lib/src/sai_redis_switch.cpp @@ -1,29 +1,5 @@ #include "sai_redis.h" -sai_status_t redis_switch_mdio_read( - _In_ sai_object_id_t switch_id, - _In_ uint32_t device_addr, - _In_ uint32_t start_reg_addr, - _In_ uint32_t number_of_registers, - _Out_ uint32_t *reg_val) -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t redis_switch_mdio_write( - _In_ sai_object_id_t switch_id, - _In_ uint32_t device_addr, - _In_ uint32_t start_reg_addr, - _In_ uint32_t number_of_registers, - _In_ const uint32_t *reg_val) -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - REDIS_GENERIC_QUAD(SWITCH,switch); REDIS_GENERIC_STATS(SWITCH,switch); diff --git a/syncd/SaiSwitch.cpp b/syncd/SaiSwitch.cpp index 74638f4a6dce..46d57c8f34ba 100644 --- a/syncd/SaiSwitch.cpp +++ b/syncd/SaiSwitch.cpp @@ -59,19 +59,13 @@ SaiSwitch::SaiSwitch( helperInternalOids(); - if (getSwitchType() == SAI_SWITCH_TYPE_NPU) - { - helperCheckLaneMap(); - } + helperCheckLaneMap(); helperLoadColdVids(); helperPopulateWarmBootVids(); - if (getSwitchType() == SAI_SWITCH_TYPE_NPU) - { - saiGetMacAddress(m_default_mac_address); - } + saiGetMacAddress(m_default_mac_address); if (warmBoot) { @@ -137,26 +131,6 @@ void SaiSwitch::getDefaultMacAddress( memcpy(mac, m_default_mac_address, sizeof(sai_mac_t)); } -sai_switch_type_t SaiSwitch::getSwitchType() const -{ - SWSS_LOG_ENTER(); - - sai_attribute_t attr; - - attr.id = SAI_SWITCH_ATTR_TYPE; - - sai_status_t status = m_vendorSai->get(SAI_OBJECT_TYPE_SWITCH, m_switch_rid, 1, &attr); - - if (status != SAI_STATUS_SUCCESS) - { - SWSS_LOG_THROW("failed to get switch type"); - } - - SWSS_LOG_ERROR("switch type: '%s'", (attr.value.s32 == SAI_SWITCH_TYPE_NPU ? "SAI_SWITCH_TYPE_NPU" : "SAI_SWITCH_TYPE_PHY")); - - return (sai_switch_type_t) attr.value.s32; -} - #define MAX_HARDWARE_INFO_LENGTH 0x1000 std::string SaiSwitch::saiGetHardwareInfo() const @@ -911,7 +885,7 @@ void SaiSwitch::helperPopulateWarmBootVids() { sai_object_id_t vid = m_translator->translateRidToVid(rid, m_switch_vid); - m_warmBootDiscoveredVids.insert(vid); + m_warmBootDiscoveredVids.insert(vid); } } diff --git a/syncd/SaiSwitch.h b/syncd/SaiSwitch.h index db4f7cc1c919..a3c60c9c8289 100644 --- a/syncd/SaiSwitch.h +++ b/syncd/SaiSwitch.h @@ -41,7 +41,6 @@ namespace syncd sai_object_id_t getVid() const; sai_object_id_t getRid() const; - sai_switch_type_t getSwitchType() const; std::string getHardwareInfo() const; std::unordered_map getVidToRidMap() const; diff --git a/syncd/scripts/physyncd_start.sh b/syncd/scripts/physyncd_start.sh deleted file mode 100644 index 32655f37ab0d..000000000000 --- a/syncd/scripts/physyncd_start.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# -# Script to start syncd using supervisord -# - -exec "/usr/bin/physyncd_startup.py" - diff --git a/syncd/scripts/physyncd_startup.py b/syncd/scripts/physyncd_startup.py deleted file mode 100644 index 61a4f337a552..000000000000 --- a/syncd/scripts/physyncd_startup.py +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/python - -''' -Copyright 2019 Broadcom. The term "Broadcom" refers to Broadcom Inc. -and/or its subsidiaries. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ''' -import os -import json -import subprocess - - -def physyncd_enable(gearbox_config): - i = 1 - for phy in gearbox_config['phys']: - subprocess.Popen(["/bin/bash", "-c", "/bin/bash -c {}".format('"exec /usr/bin/syncd -p /etc/sai.d/pai.profile -x /usr/share/sonic/hwsku/context_config.json -g {}"'.format(i))], close_fds=True) - i += 1 - -def main(): - - # Only privileged users can execute this command - if os.geteuid() != 0: - sys.exit("Root privileges required for this operation") - - """ Loads json file """ - try: - with open('/usr/share/sonic/hwsku/gearbox_config.json') as file_object: - gearbox_config=json.load(file_object) - except: - sys.exit("No external PHY / gearbox supported on this platform, existing physycd application") - - physyncd_enable(gearbox_config) - - -if __name__== "__main__": - main() - diff --git a/tests/Makefile.am b/tests/Makefile.am index 76248af0fcbb..1f69c510b8e0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -19,4 +19,4 @@ if SAITHRIFT vssyncd_LDADD += -lrpcserver -lthrift endif -TESTS = aspellcheck.pl conflictnames.pl swsslogentercheck.sh BCM56850.pl MLNX2700.pl +TESTS = aspellcheck.pl conflictnames.pl swsslogentercheck.sh brcm.pl mlnx.pl diff --git a/tests/BCM56850.pl b/tests/brcm.pl similarity index 100% rename from tests/BCM56850.pl rename to tests/brcm.pl diff --git a/tests/BCM56850/acl_counter.rec b/tests/brcm/acl_counter.rec similarity index 100% rename from tests/BCM56850/acl_counter.rec rename to tests/brcm/acl_counter.rec diff --git a/tests/BCM56850/acl_counter2.rec b/tests/brcm/acl_counter2.rec similarity index 100% rename from tests/BCM56850/acl_counter2.rec rename to tests/brcm/acl_counter2.rec diff --git a/tests/BCM56850/acl_mask.rec b/tests/brcm/acl_mask.rec similarity index 100% rename from tests/BCM56850/acl_mask.rec rename to tests/brcm/acl_mask.rec diff --git a/tests/BCM56850/acl_tables.rec b/tests/brcm/acl_tables.rec similarity index 100% rename from tests/BCM56850/acl_tables.rec rename to tests/brcm/acl_tables.rec diff --git a/tests/BCM56850/bridge_create_1.rec b/tests/brcm/bridge_create_1.rec similarity index 100% rename from tests/BCM56850/bridge_create_1.rec rename to tests/brcm/bridge_create_1.rec diff --git a/tests/BCM56850/bridge_create_2.rec b/tests/brcm/bridge_create_2.rec similarity index 100% rename from tests/BCM56850/bridge_create_2.rec rename to tests/brcm/bridge_create_2.rec diff --git a/tests/BCM56850/config_acl.rec b/tests/brcm/config_acl.rec similarity index 100% rename from tests/BCM56850/config_acl.rec rename to tests/brcm/config_acl.rec diff --git a/tests/BCM56850/config_acl2.rec b/tests/brcm/config_acl2.rec similarity index 100% rename from tests/BCM56850/config_acl2.rec rename to tests/brcm/config_acl2.rec diff --git a/tests/BCM56850/empty_lag_buffer_acl.rec b/tests/brcm/empty_lag_buffer_acl.rec similarity index 100% rename from tests/BCM56850/empty_lag_buffer_acl.rec rename to tests/brcm/empty_lag_buffer_acl.rec diff --git a/tests/BCM56850/empty_sw.rec b/tests/brcm/empty_sw.rec similarity index 100% rename from tests/BCM56850/empty_sw.rec rename to tests/brcm/empty_sw.rec diff --git a/tests/BCM56850/full.rec b/tests/brcm/full.rec similarity index 100% rename from tests/BCM56850/full.rec rename to tests/brcm/full.rec diff --git a/tests/BCM56850/full_buffer.rec b/tests/brcm/full_buffer.rec similarity index 100% rename from tests/BCM56850/full_buffer.rec rename to tests/brcm/full_buffer.rec diff --git a/tests/BCM56850/full_buffer_second.rec b/tests/brcm/full_buffer_second.rec similarity index 100% rename from tests/BCM56850/full_buffer_second.rec rename to tests/brcm/full_buffer_second.rec diff --git a/tests/BCM56850/full_hostif_remove_segfault.rec b/tests/brcm/full_hostif_remove_segfault.rec similarity index 100% rename from tests/BCM56850/full_hostif_remove_segfault.rec rename to tests/brcm/full_hostif_remove_segfault.rec diff --git a/tests/BCM56850/full_nhg_bug.rec b/tests/brcm/full_nhg_bug.rec similarity index 100% rename from tests/BCM56850/full_nhg_bug.rec rename to tests/brcm/full_nhg_bug.rec diff --git a/tests/BCM56850/full_nhg_bug_prio_flow_bug.rec b/tests/brcm/full_nhg_bug_prio_flow_bug.rec similarity index 100% rename from tests/BCM56850/full_nhg_bug_prio_flow_bug.rec rename to tests/brcm/full_nhg_bug_prio_flow_bug.rec diff --git a/tests/BCM56850/full_nhg_bug_trap_group_create_fail.rec b/tests/brcm/full_nhg_bug_trap_group_create_fail.rec similarity index 100% rename from tests/BCM56850/full_nhg_bug_trap_group_create_fail.rec rename to tests/brcm/full_nhg_bug_trap_group_create_fail.rec diff --git a/tests/BCM56850/full_no_queue.rec b/tests/brcm/full_no_queue.rec similarity index 100% rename from tests/BCM56850/full_no_queue.rec rename to tests/brcm/full_no_queue.rec diff --git a/tests/BCM56850/full_no_queue_no_ipg.rec b/tests/brcm/full_no_queue_no_ipg.rec similarity index 100% rename from tests/BCM56850/full_no_queue_no_ipg.rec rename to tests/brcm/full_no_queue_no_ipg.rec diff --git a/tests/BCM56850/full_no_queue_no_ipg_no_buffer_pfofile.rec b/tests/brcm/full_no_queue_no_ipg_no_buffer_pfofile.rec similarity index 100% rename from tests/BCM56850/full_no_queue_no_ipg_no_buffer_pfofile.rec rename to tests/brcm/full_no_queue_no_ipg_no_buffer_pfofile.rec diff --git a/tests/BCM56850/full_queue_bug_null_buffer_profile.rec b/tests/brcm/full_queue_bug_null_buffer_profile.rec similarity index 100% rename from tests/BCM56850/full_queue_bug_null_buffer_profile.rec rename to tests/brcm/full_queue_bug_null_buffer_profile.rec diff --git a/tests/BCM56850/full_second.rec b/tests/brcm/full_second.rec similarity index 100% rename from tests/BCM56850/full_second.rec rename to tests/brcm/full_second.rec diff --git a/tests/BCM56850/full_second_no_bridge.rec b/tests/brcm/full_second_no_bridge.rec similarity index 100% rename from tests/BCM56850/full_second_no_bridge.rec rename to tests/brcm/full_second_no_bridge.rec diff --git a/tests/BCM56850/full_testbed_config.rec b/tests/brcm/full_testbed_config.rec similarity index 100% rename from tests/BCM56850/full_testbed_config.rec rename to tests/brcm/full_testbed_config.rec diff --git a/tests/BCM56850/hostif.rec b/tests/brcm/hostif.rec similarity index 100% rename from tests/BCM56850/hostif.rec rename to tests/brcm/hostif.rec diff --git a/tests/BCM56850/lag_comparison_logic.rec b/tests/brcm/lag_comparison_logic.rec similarity index 100% rename from tests/BCM56850/lag_comparison_logic.rec rename to tests/brcm/lag_comparison_logic.rec diff --git a/tests/BCM56850/lag_no_members.rec b/tests/brcm/lag_no_members.rec similarity index 100% rename from tests/BCM56850/lag_no_members.rec rename to tests/brcm/lag_no_members.rec diff --git a/tests/BCM56850/lanemap.ini b/tests/brcm/lanemap.ini similarity index 100% rename from tests/BCM56850/lanemap.ini rename to tests/brcm/lanemap.ini diff --git a/tests/BCM56850/nhg_comparison_logic.rec b/tests/brcm/nhg_comparison_logic.rec similarity index 100% rename from tests/BCM56850/nhg_comparison_logic.rec rename to tests/brcm/nhg_comparison_logic.rec diff --git a/tests/BCM56850/ntf1.rec b/tests/brcm/ntf1.rec similarity index 100% rename from tests/BCM56850/ntf1.rec rename to tests/brcm/ntf1.rec diff --git a/tests/BCM56850/ntf2.rec b/tests/brcm/ntf2.rec similarity index 100% rename from tests/BCM56850/ntf2.rec rename to tests/brcm/ntf2.rec diff --git a/tests/BCM56850/qos_map_order.rec b/tests/brcm/qos_map_order.rec similarity index 100% rename from tests/BCM56850/qos_map_order.rec rename to tests/brcm/qos_map_order.rec diff --git a/tests/BCM56850/query_attr_enum_values_capability.rec b/tests/brcm/query_attr_enum_values_capability.rec similarity index 100% rename from tests/BCM56850/query_attr_enum_values_capability.rec rename to tests/brcm/query_attr_enum_values_capability.rec diff --git a/tests/BCM56850/query_object_type_get_availability.rec b/tests/brcm/query_object_type_get_availability.rec similarity index 100% rename from tests/BCM56850/query_object_type_get_availability.rec rename to tests/brcm/query_object_type_get_availability.rec diff --git a/tests/BCM56850/remove_create_port.rec b/tests/brcm/remove_create_port.rec similarity index 100% rename from tests/BCM56850/remove_create_port.rec rename to tests/brcm/remove_create_port.rec diff --git a/tests/BCM56850/remove_next_hop.rec b/tests/brcm/remove_next_hop.rec similarity index 100% rename from tests/BCM56850/remove_next_hop.rec rename to tests/brcm/remove_next_hop.rec diff --git a/tests/BCM56850/remove_port.rec b/tests/brcm/remove_port.rec similarity index 100% rename from tests/BCM56850/remove_port.rec rename to tests/brcm/remove_port.rec diff --git a/tests/BCM56850/rif_loopback.rec b/tests/brcm/rif_loopback.rec similarity index 100% rename from tests/BCM56850/rif_loopback.rec rename to tests/brcm/rif_loopback.rec diff --git a/tests/BCM56850/small_buffer.rec b/tests/brcm/small_buffer.rec similarity index 100% rename from tests/BCM56850/small_buffer.rec rename to tests/brcm/small_buffer.rec diff --git a/tests/BCM56850/speed_apply.rec b/tests/brcm/speed_apply.rec similarity index 100% rename from tests/BCM56850/speed_apply.rec rename to tests/brcm/speed_apply.rec diff --git a/tests/BCM56850/speed_init.rec b/tests/brcm/speed_init.rec similarity index 100% rename from tests/BCM56850/speed_init.rec rename to tests/brcm/speed_init.rec diff --git a/tests/BCM56850/tunnel_map.rec b/tests/brcm/tunnel_map.rec similarity index 100% rename from tests/BCM56850/tunnel_map.rec rename to tests/brcm/tunnel_map.rec diff --git a/tests/BCM56850/vsprofile.ini b/tests/brcm/vsprofile.ini similarity index 100% rename from tests/BCM56850/vsprofile.ini rename to tests/brcm/vsprofile.ini diff --git a/tests/BCM56850/wb_port_create_a.rec b/tests/brcm/wb_port_create_a.rec similarity index 100% rename from tests/BCM56850/wb_port_create_a.rec rename to tests/brcm/wb_port_create_a.rec diff --git a/tests/BCM56850/wb_port_create_b.rec b/tests/brcm/wb_port_create_b.rec similarity index 100% rename from tests/BCM56850/wb_port_create_b.rec rename to tests/brcm/wb_port_create_b.rec diff --git a/tests/BCM56850/wb_port_remove_a.rec b/tests/brcm/wb_port_remove_a.rec similarity index 100% rename from tests/BCM56850/wb_port_remove_a.rec rename to tests/brcm/wb_port_remove_a.rec diff --git a/tests/BCM56850/wb_port_remove_b.rec b/tests/brcm/wb_port_remove_b.rec similarity index 100% rename from tests/BCM56850/wb_port_remove_b.rec rename to tests/brcm/wb_port_remove_b.rec diff --git a/tests/BCM56850/wred_queue.rec b/tests/brcm/wred_queue.rec similarity index 100% rename from tests/BCM56850/wred_queue.rec rename to tests/brcm/wred_queue.rec diff --git a/tests/MLNX2700.pl b/tests/mlnx.pl similarity index 100% rename from tests/MLNX2700.pl rename to tests/mlnx.pl diff --git a/tests/MLNX2700/empty.rec b/tests/mlnx/empty.rec similarity index 100% rename from tests/MLNX2700/empty.rec rename to tests/mlnx/empty.rec diff --git a/tests/MLNX2700/empty_sw.rec b/tests/mlnx/empty_sw.rec similarity index 100% rename from tests/MLNX2700/empty_sw.rec rename to tests/mlnx/empty_sw.rec diff --git a/tests/MLNX2700/full.rec b/tests/mlnx/full.rec similarity index 100% rename from tests/MLNX2700/full.rec rename to tests/mlnx/full.rec diff --git a/tests/MLNX2700/full_nhg_member.rec b/tests/mlnx/full_nhg_member.rec similarity index 100% rename from tests/MLNX2700/full_nhg_member.rec rename to tests/mlnx/full_nhg_member.rec diff --git a/tests/MLNX2700/full_no_hostif_entry.rec b/tests/mlnx/full_no_hostif_entry.rec similarity index 100% rename from tests/MLNX2700/full_no_hostif_entry.rec rename to tests/mlnx/full_no_hostif_entry.rec diff --git a/tests/MLNX2700/full_no_hostif_entry_second.rec b/tests/mlnx/full_no_hostif_entry_second.rec similarity index 100% rename from tests/MLNX2700/full_no_hostif_entry_second.rec rename to tests/mlnx/full_no_hostif_entry_second.rec diff --git a/tests/MLNX2700/full_syncd_dies.rec b/tests/mlnx/full_syncd_dies.rec similarity index 100% rename from tests/MLNX2700/full_syncd_dies.rec rename to tests/mlnx/full_syncd_dies.rec diff --git a/tests/MLNX2700/full_to_crash.rec b/tests/mlnx/full_to_crash.rec similarity index 100% rename from tests/MLNX2700/full_to_crash.rec rename to tests/mlnx/full_to_crash.rec diff --git a/tests/MLNX2700/vsprofile.ini b/tests/mlnx/vsprofile.ini similarity index 100% rename from tests/MLNX2700/vsprofile.ini rename to tests/mlnx/vsprofile.ini diff --git a/vslib/inc/SwitchBCM81724.h b/vslib/inc/SwitchBCM81724.h deleted file mode 100644 index d622dcf73d62..000000000000 --- a/vslib/inc/SwitchBCM81724.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - - Copyright 2019 Broadcom. The term Broadcom refers to Broadcom Inc. and/or - its subsidiaries. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -*/ - -#pragma once - -#include "SwitchStateBase.h" - -namespace saivs -{ - class SwitchBCM81724: - public SwitchStateBase - { - public: - - SwitchBCM81724( - _In_ sai_object_id_t switch_id, - _In_ std::shared_ptr manager, - _In_ std::shared_ptr config); - - SwitchBCM81724( - _In_ sai_object_id_t switch_id, - _In_ std::shared_ptr manager, - _In_ std::shared_ptr config, - _In_ std::shared_ptr warmBootState); - - virtual ~SwitchBCM81724(); - - protected: - - virtual sai_status_t create_port_dependencies(_In_ sai_object_id_t port_id) override; - - virtual sai_status_t create_qos_queues_per_port(_In_ sai_object_id_t port_id) override; - - virtual sai_status_t create_qos_queues() override; - - virtual sai_status_t set_switch_mac_address() override; - - virtual sai_status_t create_default_vlan() override; - - virtual sai_status_t create_default_1q_bridge() override; - - virtual sai_status_t create_default_virtual_router() override; - - virtual sai_status_t create_default_stp_instance() override; - - virtual sai_status_t create_default_trap_group() override; - - virtual sai_status_t create_ingress_priority_groups_per_port( - _In_ sai_object_id_t port_id) override; - - virtual sai_status_t create_ingress_priority_groups() override; - - virtual sai_status_t create_vlan_members() override; - - virtual sai_status_t create_bridge_ports() override; - - virtual sai_status_t set_acl_entry_min_prio() override; - - virtual sai_status_t set_acl_capabilities() override; - - virtual sai_status_t set_maximum_number_of_childs_per_scheduler_group() override; - - virtual sai_status_t set_number_of_ecmp_groups() override; - - virtual sai_status_t create_cpu_port(); - - virtual sai_status_t create_ports(); - - protected : // refresh - - virtual sai_status_t refresh_port_list( - _In_ const sai_attr_metadata_t *meta) override; - - virtual sai_status_t refresh_bridge_port_list( - _In_ const sai_attr_metadata_t *meta, - _In_ sai_object_id_t bridge_id) override; - - virtual sai_status_t refresh_vlan_member_list( - _In_ const sai_attr_metadata_t *meta, - _In_ sai_object_id_t vlan_id) override; - - protected: - - virtual sai_status_t refresh_read_only( _In_ const sai_attr_metadata_t *meta, _In_ sai_object_id_t object_id) override; - virtual sai_status_t set_switch_default_attributes(); - virtual sai_status_t initialize_default_objects() override; - }; -} diff --git a/vslib/inc/SwitchConfig.h b/vslib/inc/SwitchConfig.h index bec0541a9c41..bd4bf139d22e 100644 --- a/vslib/inc/SwitchConfig.h +++ b/vslib/inc/SwitchConfig.h @@ -6,10 +6,6 @@ #include #include -extern "C" { -#include "sai.h" // for sai_switch_type_t -} - namespace saivs { typedef enum _sai_vs_switch_type_t @@ -18,8 +14,6 @@ namespace saivs SAI_VS_SWITCH_TYPE_BCM56850, - SAI_VS_SWITCH_TYPE_BCM81724, - SAI_VS_SWITCH_TYPE_MLNX2700, } sai_vs_switch_type_t; @@ -44,10 +38,6 @@ namespace saivs public: - static bool parseSaiSwitchType( - _In_ const char* saiSwitchTypeStr, - _Out_ sai_switch_type_t& saiSwitchType); - static bool parseSwitchType( _In_ const char* switchTypeStr, _Out_ sai_vs_switch_type_t& switchType); @@ -61,8 +51,6 @@ namespace saivs public: - sai_switch_type_t m_saiSwitchType; - sai_vs_switch_type_t m_switchType; sai_vs_boot_type_t m_bootType; diff --git a/vslib/inc/saivs.h b/vslib/inc/saivs.h index 8c5be3dac6be..15e4abaa5a1b 100644 --- a/vslib/inc/saivs.h +++ b/vslib/inc/saivs.h @@ -5,10 +5,6 @@ extern "C" { } #define SAI_KEY_VS_SWITCH_TYPE "SAI_VS_SWITCH_TYPE" -#define SAI_KEY_VS_SAI_SWITCH_TYPE "SAI_VS_SAI_SWITCH_TYPE" - -#define SAI_VALUE_SAI_SWITCH_TYPE_NPU "SAI_SWITCH_TYPE_NPU" -#define SAI_VALUE_SAI_SWITCH_TYPE_PHY "SAI_SWITCH_TYPE_PHY" /** * @def SAI_KEY_VS_INTERFACE_LANE_MAP_FILE @@ -35,7 +31,6 @@ extern "C" { #define SAI_KEY_VS_HOSTIF_USE_TAP_DEVICE "SAI_VS_HOSTIF_USE_TAP_DEVICE" #define SAI_VALUE_VS_SWITCH_TYPE_BCM56850 "SAI_VS_SWITCH_TYPE_BCM56850" -#define SAI_VALUE_VS_SWITCH_TYPE_BCM81724 "SAI_VS_SWITCH_TYPE_BCM81724" #define SAI_VALUE_VS_SWITCH_TYPE_MLNX2700 "SAI_VS_SWITCH_TYPE_MLNX2700" /* diff --git a/vslib/src/Makefile.am b/vslib/src/Makefile.am index 8f220824704c..b30ec668abed 100644 --- a/vslib/src/Makefile.am +++ b/vslib/src/Makefile.am @@ -45,7 +45,6 @@ libSaiVS_a_SOURCES = \ SelectableFd.cpp \ SwitchState.cpp \ SwitchBCM56850.cpp \ - SwitchBCM81724.cpp \ SwitchMLNX2700.cpp libsaivs_la_SOURCES = \ diff --git a/vslib/src/Sai.cpp b/vslib/src/Sai.cpp index d2a0b1287e98..f5fb0472a82a 100644 --- a/vslib/src/Sai.cpp +++ b/vslib/src/Sai.cpp @@ -94,19 +94,6 @@ sai_status_t Sai::initialize( return SAI_STATUS_FAILURE; } - auto sai_switch_type = service_method_table->profile_get_value(0, SAI_KEY_VS_SAI_SWITCH_TYPE); - sai_switch_type_t saiSwitchType; - - if (sai_switch_type == NULL) - { - SWSS_LOG_NOTICE("failed to obtain service method table value: %s", SAI_KEY_VS_SAI_SWITCH_TYPE); - saiSwitchType = SAI_SWITCH_TYPE_NPU; - } - else if (!SwitchConfig::parseSaiSwitchType(sai_switch_type, saiSwitchType)) - { - return SAI_STATUS_FAILURE; - } - auto *laneMapFile = service_method_table->profile_get_value(0, SAI_KEY_VS_INTERFACE_LANE_MAP_FILE); m_laneMapContainer = LaneMapFileParser::parseLaneMapFile(laneMapFile); @@ -141,7 +128,6 @@ sai_status_t Sai::initialize( auto sc = std::make_shared(); - sc->m_saiSwitchType = saiSwitchType; sc->m_switchType = switchType; sc->m_bootType = bootType; sc->m_switchIndex = 0; @@ -175,10 +161,7 @@ sai_status_t Sai::initialize( startUnittestThread(); - if (saiSwitchType == SAI_SWITCH_TYPE_NPU) - { - startFdbAgingThread(); - } + startFdbAgingThread(); m_apiInitialized = true; diff --git a/vslib/src/SwitchBCM81724.cpp b/vslib/src/SwitchBCM81724.cpp deleted file mode 100644 index 8d0dc2434899..000000000000 --- a/vslib/src/SwitchBCM81724.cpp +++ /dev/null @@ -1,442 +0,0 @@ -/* - - Copyright 2019 Broadcom. The term Broadcom refers to Broadcom Inc. and/or - its subsidiaries. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -*/ - - -#include "SwitchBCM81724.h" - -#include "swss/logger.h" -#include "meta/sai_serialize.h" - -using namespace saivs; - -SwitchBCM81724::SwitchBCM81724( - _In_ sai_object_id_t switch_id, - _In_ std::shared_ptr manager, - _In_ std::shared_ptr config): - SwitchStateBase(switch_id, manager, config) -{ - SWSS_LOG_ENTER(); - - // empty -} - -SwitchBCM81724::~SwitchBCM81724() -{ - SWSS_LOG_ENTER(); -} - -sai_status_t SwitchBCM81724::create_port_dependencies( - _In_ sai_object_id_t port_id) -{ - SWSS_LOG_ENTER(); - - SWSS_LOG_WARN("check attributes and set, FIXME"); - - // this method is post create action on generic create object - - sai_attribute_t attr; - - // default admin state is down as defined in SAI - - attr.id = SAI_PORT_ATTR_ADMIN_STATE; - attr.value.booldata = false; - - CHECK_STATUS(set(SAI_OBJECT_TYPE_PORT, port_id, &attr)); - - return SAI_STATUS_SUCCESS; -} - -sai_status_t SwitchBCM81724::initialize_default_objects() -{ - SWSS_LOG_ENTER(); - - CHECK_STATUS(set_switch_default_attributes()); - CHECK_STATUS(create_default_trap_group()); - - return SAI_STATUS_SUCCESS; -} - - -sai_status_t SwitchBCM81724::create_qos_queues_per_port( - _In_ sai_object_id_t port_id) -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_qos_queues() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::set_switch_mac_address() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::refresh_port_list( - _In_ const sai_attr_metadata_t *meta) -{ - SWSS_LOG_ENTER(); - - // since now port can be added or removed, we need to update port list - // dynamically - - sai_attribute_t attr; - - m_port_list.clear(); - - // iterate via ASIC state to find all the ports - - for (const auto& it: m_objectHash.at(SAI_OBJECT_TYPE_PORT)) - { - sai_object_id_t port_id; - sai_deserialize_object_id(it.first, port_id); - - m_port_list.push_back(port_id); - } - - uint32_t port_count = (uint32_t)m_port_list.size(); - - attr.id = SAI_SWITCH_ATTR_PORT_LIST; - attr.value.objlist.count = port_count; - attr.value.objlist.list = m_port_list.data(); - - CHECK_STATUS(set(SAI_OBJECT_TYPE_SWITCH, m_switch_id, &attr)); - - attr.id = SAI_SWITCH_ATTR_PORT_NUMBER; - attr.value.u32 = port_count; - - CHECK_STATUS(set(SAI_OBJECT_TYPE_SWITCH, m_switch_id, &attr)); - - SWSS_LOG_NOTICE("refreshed port list, current port number: %zu, not counting cpu port", m_port_list.size()); - - return SAI_STATUS_SUCCESS; -} - -sai_status_t SwitchBCM81724::set_switch_default_attributes() -{ - SWSS_LOG_ENTER(); - - sai_status_t ret; - - // Fill this with supported SAI_OBJECT_TYPEs - int32_t supported_obj_list[] = { - SAI_OBJECT_TYPE_NULL, - SAI_OBJECT_TYPE_PORT - }; - SWSS_LOG_INFO("create switch default attributes"); - - sai_attribute_t attr; - - attr.id = SAI_SWITCH_ATTR_NUMBER_OF_ACTIVE_PORTS; - attr.value.u32 = 0; - - CHECK_STATUS(set(SAI_OBJECT_TYPE_SWITCH, m_switch_id, &attr)); - - attr.id = SAI_SWITCH_ATTR_WARM_RECOVER; - attr.value.booldata = false; - - CHECK_STATUS(set(SAI_OBJECT_TYPE_SWITCH, m_switch_id, &attr)); - - CHECK_STATUS(set(SAI_OBJECT_TYPE_SWITCH, m_switch_id, &attr)); - - attr.id = SAI_SWITCH_ATTR_FIRMWARE_MAJOR_VERSION; - strncpy((char *)&attr.value.chardata, "v0.1", sizeof(attr.value.chardata)); - - CHECK_STATUS(set(SAI_OBJECT_TYPE_SWITCH, m_switch_id, &attr)); - - attr.id = SAI_SWITCH_ATTR_SUPPORTED_OBJECT_TYPE_LIST; - attr.value.s32list.count = sizeof(supported_obj_list); - attr.value.s32list.list = supported_obj_list; - - ret = set(SAI_OBJECT_TYPE_SWITCH, m_switch_id, &attr); - - return ret; -} - -SwitchBCM81724::SwitchBCM81724( - _In_ sai_object_id_t switch_id, - _In_ std::shared_ptr manager, - _In_ std::shared_ptr config, - _In_ std::shared_ptr warmBootState): - SwitchStateBase(switch_id, manager, config, warmBootState) -{ - SWSS_LOG_ENTER(); - - // empty -} - -// override of base class but returning failure in most cases. GB phys implement very little - -sai_status_t SwitchBCM81724::refresh_read_only( - _In_ const sai_attr_metadata_t *meta, - _In_ sai_object_id_t object_id) -{ - SWSS_LOG_ENTER(); - - if (meta->objecttype == SAI_OBJECT_TYPE_SWITCH) - { - switch (meta->attrid) - { - case SAI_SWITCH_ATTR_CPU_PORT: - case SAI_SWITCH_ATTR_DEFAULT_VIRTUAL_ROUTER_ID: - case SAI_SWITCH_ATTR_DEFAULT_VLAN_ID: - case SAI_SWITCH_ATTR_DEFAULT_STP_INST_ID: - case SAI_SWITCH_ATTR_DEFAULT_1Q_BRIDGE_ID: - return SAI_STATUS_NOT_IMPLEMENTED; - - case SAI_SWITCH_ATTR_ACL_ENTRY_MINIMUM_PRIORITY: - case SAI_SWITCH_ATTR_ACL_ENTRY_MAXIMUM_PRIORITY: - return SAI_STATUS_NOT_IMPLEMENTED; - - case SAI_SWITCH_ATTR_MAX_ACL_ACTION_COUNT: - case SAI_SWITCH_ATTR_ACL_STAGE_INGRESS: - case SAI_SWITCH_ATTR_ACL_STAGE_EGRESS: - return SAI_STATUS_NOT_IMPLEMENTED; - - case SAI_SWITCH_ATTR_NUMBER_OF_ECMP_GROUPS: - return SAI_STATUS_NOT_IMPLEMENTED; - - case SAI_SWITCH_ATTR_NUMBER_OF_ACTIVE_PORTS: - case SAI_SWITCH_ATTR_PORT_LIST: - return refresh_port_list(meta); - - case SAI_SWITCH_ATTR_QOS_MAX_NUMBER_OF_CHILDS_PER_SCHEDULER_GROUP: - return SAI_STATUS_NOT_IMPLEMENTED; - - case SAI_SWITCH_ATTR_AVAILABLE_SNAT_ENTRY: - case SAI_SWITCH_ATTR_AVAILABLE_DNAT_ENTRY: - case SAI_SWITCH_ATTR_AVAILABLE_DOUBLE_NAT_ENTRY: - return SAI_STATUS_NOT_IMPLEMENTED; - - case SAI_SWITCH_ATTR_DEFAULT_TRAP_GROUP: - case SAI_SWITCH_ATTR_FIRMWARE_MAJOR_VERSION: - return SAI_STATUS_SUCCESS; - } - } - - if (meta->objecttype == SAI_OBJECT_TYPE_PORT) - { - switch (meta->attrid) - { - case SAI_PORT_ATTR_QOS_NUMBER_OF_QUEUES: - case SAI_PORT_ATTR_QOS_QUEUE_LIST: - return SAI_STATUS_NOT_IMPLEMENTED; - - case SAI_PORT_ATTR_NUMBER_OF_INGRESS_PRIORITY_GROUPS: - case SAI_PORT_ATTR_INGRESS_PRIORITY_GROUP_LIST: - return SAI_STATUS_NOT_IMPLEMENTED; - - case SAI_PORT_ATTR_QOS_NUMBER_OF_SCHEDULER_GROUPS: - case SAI_PORT_ATTR_QOS_SCHEDULER_GROUP_LIST: - return SAI_STATUS_NOT_IMPLEMENTED; - - case SAI_PORT_ATTR_SUPPORTED_FEC_MODE: - case SAI_PORT_ATTR_SUPPORTED_AUTO_NEG_MODE: - case SAI_PORT_ATTR_REMOTE_ADVERTISED_FEC_MODE: - case SAI_PORT_ATTR_ADVERTISED_FEC_MODE: - return SAI_STATUS_SUCCESS; - - /* - * This status is based on hostif vEthernetX status. - */ - - case SAI_PORT_ATTR_OPER_STATUS: - return SAI_STATUS_SUCCESS; - } - } - - if (meta->objecttype == SAI_OBJECT_TYPE_SCHEDULER_GROUP) - { - return SAI_STATUS_NOT_IMPLEMENTED; - } - - if (meta->objecttype == SAI_OBJECT_TYPE_BRIDGE && meta->attrid == SAI_BRIDGE_ATTR_PORT_LIST) - { - return SAI_STATUS_NOT_IMPLEMENTED; - } - - if (meta->objecttype == SAI_OBJECT_TYPE_VLAN && meta->attrid == SAI_VLAN_ATTR_MEMBER_LIST) - { - return SAI_STATUS_NOT_IMPLEMENTED; - } - - if (meta->objecttype == SAI_OBJECT_TYPE_DEBUG_COUNTER && meta->attrid == SAI_DEBUG_COUNTER_ATTR_INDEX) - { - return SAI_STATUS_SUCCESS; // XXX not sure for gearbox - } - - auto mmeta = m_meta.lock(); - - if (mmeta) - { - if (mmeta->meta_unittests_enabled()) - { - SWSS_LOG_NOTICE("unittests enabled, SET could be performed on %s, not recalculating", meta->attridname); - - return SAI_STATUS_SUCCESS; - } - } - else - { - SWSS_LOG_WARN("meta pointer expired"); - } - - SWSS_LOG_WARN("need to recalculate RO: %s", meta->attridname); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_default_vlan() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_cpu_port() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_default_1q_bridge() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_ports() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_default_virtual_router() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_default_stp_instance() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_default_trap_group() -{ - SWSS_LOG_ENTER(); - - SWSS_LOG_INFO("create default trap group"); - - sai_attribute_t attr; - - attr.id = SAI_SWITCH_ATTR_DEFAULT_TRAP_GROUP; - attr.value.oid = SAI_NULL_OBJECT_ID; - - return set(SAI_OBJECT_TYPE_SWITCH, m_switch_id, &attr); -} - -sai_status_t SwitchBCM81724::create_ingress_priority_groups_per_port( - _In_ sai_object_id_t port_id) -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_ingress_priority_groups() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_vlan_members() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::create_bridge_ports() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::set_acl_entry_min_prio() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::set_acl_capabilities() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::set_maximum_number_of_childs_per_scheduler_group() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::set_number_of_ecmp_groups() -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::refresh_bridge_port_list( - _In_ const sai_attr_metadata_t *meta, - _In_ sai_object_id_t bridge_id) -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - -sai_status_t SwitchBCM81724::refresh_vlan_member_list( - _In_ const sai_attr_metadata_t *meta, - _In_ sai_object_id_t vlan_id) -{ - SWSS_LOG_ENTER(); - - return SAI_STATUS_NOT_IMPLEMENTED; -} - diff --git a/vslib/src/SwitchConfig.cpp b/vslib/src/SwitchConfig.cpp index 7738eae0dcd3..c7c7649f1b8d 100644 --- a/vslib/src/SwitchConfig.cpp +++ b/vslib/src/SwitchConfig.cpp @@ -6,7 +6,6 @@ using namespace saivs; SwitchConfig::SwitchConfig(): - m_saiSwitchType(SAI_SWITCH_TYPE_NPU), m_switchType(SAI_VS_SWITCH_TYPE_NONE), m_bootType(SAI_VS_BOOT_TYPE_COLD), m_switchIndex(0), @@ -19,35 +18,6 @@ SwitchConfig::SwitchConfig(): } -bool SwitchConfig::parseSaiSwitchType( - _In_ const char* saiSwitchTypeStr, - _Out_ sai_switch_type_t& saiSwitchType) -{ - SWSS_LOG_ENTER(); - - std::string st = (saiSwitchTypeStr == NULL) ? "unknown" : saiSwitchTypeStr; - - if (st == SAI_VALUE_SAI_SWITCH_TYPE_NPU) - { - saiSwitchType = SAI_SWITCH_TYPE_NPU; - } - else if (st == SAI_VALUE_SAI_SWITCH_TYPE_PHY) - { - saiSwitchType = SAI_SWITCH_TYPE_PHY; - } - else - { - SWSS_LOG_ERROR("unknown SAI switch type: '%s', expected (%s|%s)", - saiSwitchTypeStr, - SAI_VALUE_SAI_SWITCH_TYPE_NPU, - SAI_VALUE_SAI_SWITCH_TYPE_PHY); - - return false; - } - - return true; -} - bool SwitchConfig::parseSwitchType( _In_ const char* switchTypeStr, _Out_ sai_vs_switch_type_t& switchType) @@ -60,19 +30,14 @@ bool SwitchConfig::parseSwitchType( { switchType = SAI_VS_SWITCH_TYPE_BCM56850; } - else if (st == SAI_VALUE_VS_SWITCH_TYPE_BCM81724) - { - switchType = SAI_VS_SWITCH_TYPE_BCM81724; - } else if (st == SAI_VALUE_VS_SWITCH_TYPE_MLNX2700) { switchType = SAI_VS_SWITCH_TYPE_MLNX2700; } else { - SWSS_LOG_ERROR("unknown switch type: '%s', expected (%s|%s|%s)", + SWSS_LOG_ERROR("unknown switch type: '%s', expected (%s|%s)", switchTypeStr, - SAI_VALUE_VS_SWITCH_TYPE_BCM81724, SAI_VALUE_VS_SWITCH_TYPE_BCM56850, SAI_VALUE_VS_SWITCH_TYPE_MLNX2700); diff --git a/vslib/src/SwitchStateBase.cpp b/vslib/src/SwitchStateBase.cpp index bd25e7a958b2..91679d10094e 100644 --- a/vslib/src/SwitchStateBase.cpp +++ b/vslib/src/SwitchStateBase.cpp @@ -409,6 +409,7 @@ sai_status_t SwitchStateBase::setPort( { SWSS_LOG_ERROR("failed to set MTU on portId %s", sai_serialize_object_id(portId).c_str()); + return SAI_STATUS_FAILURE; } } @@ -819,6 +820,7 @@ sai_status_t SwitchStateBase::create_ports() sai_object_id_t port_id; CHECK_STATUS(create(SAI_OBJECT_TYPE_PORT, &port_id, m_switch_id, 0, NULL)); + m_port_list.push_back(port_id); sai_attribute_t attr; diff --git a/vslib/src/VirtualSwitchSaiInterface.cpp b/vslib/src/VirtualSwitchSaiInterface.cpp index e35a90547afd..a53f56a329f1 100644 --- a/vslib/src/VirtualSwitchSaiInterface.cpp +++ b/vslib/src/VirtualSwitchSaiInterface.cpp @@ -10,7 +10,6 @@ #include "meta/sai_serialize.h" #include "SwitchStateBase.h" -#include "SwitchBCM81724.h" #include "SwitchBCM56850.h" #include "SwitchMLNX2700.h" @@ -535,11 +534,6 @@ std::shared_ptr VirtualSwitchSaiInterface::init_switch( m_switchStateMap[switch_id] = std::make_shared(switch_id, m_realObjectIdManager, config, warmBootState); break; - case SAI_VS_SWITCH_TYPE_BCM81724: - - m_switchStateMap[switch_id] = std::make_shared(switch_id, m_realObjectIdManager, config, warmBootState); - break; - case SAI_VS_SWITCH_TYPE_MLNX2700: m_switchStateMap[switch_id] = std::make_shared(switch_id, m_realObjectIdManager, config, warmBootState); diff --git a/vslib/src/sai_vs_switch.cpp b/vslib/src/sai_vs_switch.cpp index 67cdecb0bbbb..619d2532442e 100644 --- a/vslib/src/sai_vs_switch.cpp +++ b/vslib/src/sai_vs_switch.cpp @@ -51,5 +51,5 @@ const sai_switch_api_t vs_switch_api = { VS_GENERIC_STATS_API(switch) vs_mdio_read, - vs_mdio_write + vs_mdio_write, };