Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vs] Initialization of VOQ switch objects #702

Merged
merged 5 commits into from
Nov 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions vslib/inc/SwitchBCM81724.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,14 @@ namespace saivs

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 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;

virtual sai_status_t initialize_default_objects(
_In_ uint32_t attr_count,
_In_ const sai_attribute_t *attr_list) override;
};
}
4 changes: 3 additions & 1 deletion vslib/inc/SwitchStateBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@ namespace saivs

public:

virtual sai_status_t initialize_default_objects();
virtual sai_status_t initialize_default_objects(
_In_ uint32_t attr_count,
_In_ const sai_attribute_t *attr_list);

virtual sai_status_t create_port_dependencies(
_In_ sai_object_id_t port_id);
Expand Down
5 changes: 4 additions & 1 deletion vslib/inc/VirtualSwitchSaiInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,10 @@ namespace saivs
_In_ sai_object_id_t switch_id,
_In_ std::shared_ptr<SwitchConfig> config,
_In_ std::shared_ptr<WarmBootState> warmBootState,
_In_ std::weak_ptr<saimeta::Meta> meta);
_In_ std::weak_ptr<saimeta::Meta> meta,
_In_ uint32_t attr_count,
_In_ const sai_attribute_t *attr_list);

private:

static bool doesFdbEntryNotMatchFlushAttr(
Expand Down
4 changes: 3 additions & 1 deletion vslib/src/SwitchBCM81724.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,9 @@ sai_status_t SwitchBCM81724::create_port_dependencies(
return SAI_STATUS_SUCCESS;
}

sai_status_t SwitchBCM81724::initialize_default_objects()
sai_status_t SwitchBCM81724::initialize_default_objects(
_In_ uint32_t attr_count,
_In_ const sai_attribute_t *attr_list)
{
SWSS_LOG_ENTER();

Expand Down
8 changes: 7 additions & 1 deletion vslib/src/SwitchStateBase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1429,7 +1429,9 @@ sai_status_t SwitchStateBase::set_number_of_ecmp_groups()
return set(SAI_OBJECT_TYPE_SWITCH, m_switch_id, &attr);
}

sai_status_t SwitchStateBase::initialize_default_objects()
sai_status_t SwitchStateBase::initialize_default_objects(
_In_ uint32_t attr_count,
_In_ const sai_attribute_t *attr_list)
{
SWSS_LOG_ENTER();

Expand All @@ -1454,6 +1456,10 @@ sai_status_t SwitchStateBase::initialize_default_objects()
CHECK_STATUS(create_scheduler_groups());
CHECK_STATUS(set_static_crm_values());

// Initialize switch for VOQ attributes

CHECK_STATUS(initialize_voq_switch_objects(attr_count, attr_list));

return SAI_STATUS_SUCCESS;
}

Expand Down
8 changes: 5 additions & 3 deletions vslib/src/VirtualSwitchSaiInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -540,7 +540,9 @@ std::shared_ptr<SwitchStateBase> VirtualSwitchSaiInterface::init_switch(
_In_ sai_object_id_t switch_id,
_In_ std::shared_ptr<SwitchConfig> config,
_In_ std::shared_ptr<WarmBootState> warmBootState,
_In_ std::weak_ptr<saimeta::Meta> meta)
_In_ std::weak_ptr<saimeta::Meta> meta,
_In_ uint32_t attr_count,
_In_ const sai_attribute_t *attr_list)
{
SWSS_LOG_ENTER();

Expand Down Expand Up @@ -595,7 +597,7 @@ std::shared_ptr<SwitchStateBase> VirtualSwitchSaiInterface::init_switch(
}
else
{
sai_status_t status = ss->initialize_default_objects(); // TODO move to constructor
sai_status_t status = ss->initialize_default_objects(attr_count, attr_list); // TODO move to constructor

if (status != SAI_STATUS_SUCCESS)
{
Expand Down Expand Up @@ -652,7 +654,7 @@ sai_status_t VirtualSwitchSaiInterface::create(
}
}

auto ss = init_switch(switchId, config, warmBootState, m_meta);
auto ss = init_switch(switchId, config, warmBootState, m_meta, attr_count, attr_list);

if (!ss)
{
Expand Down