Skip to content

Commit e92c1df

Browse files
authored
Enable FEC statistics collection for Ethernet ports (sonic-net#1994)
1 parent 9f30ca1 commit e92c1df

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

orchagent/portsorch.cpp

+13-10
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,10 @@ const vector<sai_port_stat_t> port_stat_ids =
229229
SAI_PORT_STAT_ETHER_STATS_JABBERS,
230230
SAI_PORT_STAT_ETHER_STATS_FRAGMENTS,
231231
SAI_PORT_STAT_ETHER_STATS_UNDERSIZE_PKTS,
232-
SAI_PORT_STAT_IP_IN_RECEIVES
232+
SAI_PORT_STAT_IP_IN_RECEIVES,
233+
SAI_PORT_STAT_IF_IN_FEC_CORRECTABLE_FRAMES,
234+
SAI_PORT_STAT_IF_IN_FEC_NOT_CORRECTABLE_FRAMES,
235+
SAI_PORT_STAT_IF_IN_FEC_SYMBOL_ERRORS
233236
};
234237

235238
const vector<sai_port_stat_t> port_buffer_drop_stat_ids =
@@ -4655,7 +4658,7 @@ bool PortsOrch::addVlanFloodGroups(Port &vlan, Port &port, string end_point_ip)
46554658
if (vlan.m_vlan_info.l2mc_group_id == SAI_NULL_OBJECT_ID)
46564659
{
46574660
status = sai_l2mc_group_api->create_l2mc_group(&l2mc_group_id, gSwitchId, 0, NULL);
4658-
if (status != SAI_STATUS_SUCCESS)
4661+
if (status != SAI_STATUS_SUCCESS)
46594662
{
46604663
SWSS_LOG_ERROR("Failed to create l2mc flood group");
46614664
return false;
@@ -4669,7 +4672,7 @@ bool PortsOrch::addVlanFloodGroups(Port &vlan, Port &port, string end_point_ip)
46694672
status = sai_vlan_api->set_vlan_attribute(vlan.m_vlan_info.vlan_oid, &attr);
46704673
if (status != SAI_STATUS_SUCCESS)
46714674
{
4672-
SWSS_LOG_ERROR("Failed to set l2mc group %" PRIx64
4675+
SWSS_LOG_ERROR("Failed to set l2mc group %" PRIx64
46734676
" to vlan %hu for unknown unicast flooding",
46744677
l2mc_group_id, vlan.m_vlan_info.vlan_id);
46754678
return false;
@@ -4684,15 +4687,15 @@ bool PortsOrch::addVlanFloodGroups(Port &vlan, Port &port, string end_point_ip)
46844687
if (status != SAI_STATUS_SUCCESS)
46854688
{
46864689
SWSS_LOG_ERROR("Failed to set l2mc group %" PRIx64
4687-
" to vlan %hu for broadcast flooding",
4690+
" to vlan %hu for broadcast flooding",
46884691
l2mc_group_id, vlan.m_vlan_info.vlan_id);
46894692
return false;
46904693
}
46914694
}
46924695
vlan.m_vlan_info.l2mc_group_id = l2mc_group_id;
46934696
m_portList[vlan.m_alias] = vlan;
46944697
}
4695-
4698+
46964699
vector<sai_attribute_t> attrs;
46974700
attr.id = SAI_L2MC_GROUP_MEMBER_ATTR_L2MC_GROUP_ID;
46984701
attr.value.oid = vlan.m_vlan_info.l2mc_group_id;
@@ -4740,10 +4743,10 @@ bool PortsOrch::removeVlanEndPointIp(Port &vlan, Port &port, string end_point_ip
47404743
SWSS_LOG_ENTER();
47414744

47424745
sai_status_t status;
4743-
4746+
47444747
if(vlan.m_vlan_info.l2mc_members.find(end_point_ip) == vlan.m_vlan_info.l2mc_members.end())
47454748
{
4746-
SWSS_LOG_NOTICE("End point ip %s is not part of vlan %hu",
4749+
SWSS_LOG_NOTICE("End point ip %s is not part of vlan %hu",
47474750
end_point_ip.c_str(), vlan.m_vlan_info.vlan_id);
47484751
return true;
47494752
}
@@ -4759,7 +4762,7 @@ bool PortsOrch::removeVlanEndPointIp(Port &vlan, Port &port, string end_point_ip
47594762
vlan.m_vlan_info.l2mc_members.erase(end_point_ip);
47604763
sai_object_id_t l2mc_group_id = SAI_NULL_OBJECT_ID;
47614764
sai_attribute_t attr;
4762-
4765+
47634766
if (vlan.m_vlan_info.l2mc_members.empty())
47644767
{
47654768
if (vlan.m_vlan_info.uuc_flood_type == SAI_VLAN_FLOOD_CONTROL_TYPE_COMBINED)
@@ -4770,7 +4773,7 @@ bool PortsOrch::removeVlanEndPointIp(Port &vlan, Port &port, string end_point_ip
47704773
status = sai_vlan_api->set_vlan_attribute(vlan.m_vlan_info.vlan_oid, &attr);
47714774
if (status != SAI_STATUS_SUCCESS)
47724775
{
4773-
SWSS_LOG_ERROR("Failed to set null l2mc group "
4776+
SWSS_LOG_ERROR("Failed to set null l2mc group "
47744777
" to vlan %hu for unknown unicast flooding",
47754778
vlan.m_vlan_info.vlan_id);
47764779
return false;
@@ -4796,7 +4799,7 @@ bool PortsOrch::removeVlanEndPointIp(Port &vlan, Port &port, string end_point_ip
47964799
if (status != SAI_STATUS_SUCCESS)
47974800
{
47984801
SWSS_LOG_ERROR("Failed to set null l2mc group "
4799-
" to vlan %hu for broadcast flooding",
4802+
" to vlan %hu for broadcast flooding",
48004803
vlan.m_vlan_info.vlan_id);
48014804
return false;
48024805
}

0 commit comments

Comments
 (0)