Skip to content
New issue

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

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

Already on GitHub? # to your account

First time config push for AN and FEC #1

Merged
merged 3 commits into from
Apr 6, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
2 changes: 2 additions & 0 deletions orchagent/port.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,8 @@ class Port

std::unordered_set<sai_object_id_t> m_ingress_acl_tables_uset;
std::unordered_set<sai_object_id_t> m_egress_acl_tables_uset;
bool m_fec_cfg = false;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is the extra spaces is required?

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the space

bool m_an_cfg = false;
};

}
Expand Down
7 changes: 5 additions & 2 deletions orchagent/portsorch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2354,12 +2354,13 @@ void PortsOrch::doPortTask(Consumer &consumer)
}
else
{
if (an != -1 && an != p.m_autoneg)
if (an != -1 && (!p.m_an_cfg || an != p.m_autoneg))
{
if (setPortAutoNeg(p.m_port_id, an))
{
SWSS_LOG_NOTICE("Set port %s AutoNeg to %u", alias.c_str(), an);
p.m_autoneg = an;
p.m_an_cfg = true;
m_portList[alias] = p;

// Once AN is changed
Expand Down Expand Up @@ -2492,7 +2493,7 @@ void PortsOrch::doPortTask(Consumer &consumer)
if (fec_mode_map.find(fec_mode) != fec_mode_map.end())
{
/* reset fec mode upon mode change */
if (p.m_fec_mode != fec_mode_map[fec_mode])
if (!p.m_fec_cfg || p.m_fec_mode != fec_mode_map[fec_mode])
{
if (p.m_admin_state_up)
{
Expand All @@ -2506,6 +2507,7 @@ void PortsOrch::doPortTask(Consumer &consumer)

p.m_admin_state_up = false;
p.m_fec_mode = fec_mode_map[fec_mode];
p.m_fec_cfg = true;

if (setPortFec(p, p.m_fec_mode))
{
Expand All @@ -2523,6 +2525,7 @@ void PortsOrch::doPortTask(Consumer &consumer)
{
/* Port is already down, setting fec mode*/
p.m_fec_mode = fec_mode_map[fec_mode];
p.m_fec_cfg = true;
if (setPortFec(p, p.m_fec_mode))
{
m_portList[alias] = p;
Expand Down