@@ -1235,6 +1235,11 @@ sai_status_t SwitchStateBase::create_ports()
1235
1235
attr.value .u32 = DEFAULT_VLAN_NUMBER;
1236
1236
1237
1237
CHECK_STATUS (set (SAI_OBJECT_TYPE_PORT, port_id, &attr));
1238
+
1239
+ attr.id = SAI_PORT_ATTR_HOST_TX_READY_STATUS;
1240
+ attr.value .u32 = SAI_PORT_HOST_TX_READY_STATUS_READY;
1241
+
1242
+ CHECK_STATUS (set (SAI_OBJECT_TYPE_PORT, port_id, &attr));
1238
1243
}
1239
1244
1240
1245
return SAI_STATUS_SUCCESS;
@@ -1699,6 +1704,11 @@ sai_status_t SwitchStateBase::create_port_dependencies(
1699
1704
1700
1705
CHECK_STATUS (set (SAI_OBJECT_TYPE_PORT, port_id, &attr));
1701
1706
1707
+ attr.id = SAI_PORT_ATTR_HOST_TX_READY_STATUS;
1708
+ attr.value .u32 = SAI_PORT_HOST_TX_READY_STATUS_READY;
1709
+
1710
+ CHECK_STATUS (set (SAI_OBJECT_TYPE_PORT, port_id, &attr));
1711
+
1702
1712
// attributes are not required since they will be set outside this function
1703
1713
1704
1714
CHECK_STATUS (create_ingress_priority_groups_per_port (port_id));
@@ -2260,7 +2270,12 @@ sai_status_t SwitchStateBase::refresh_port_oper_speed(
2260
2270
}
2261
2271
else
2262
2272
{
2263
- if (!vs_get_oper_speed (port_id, attr.value .u32 ))
2273
+ if (m_switchConfig->m_useConfiguredSpeedAsOperSpeed )
2274
+ {
2275
+ attr.id = SAI_PORT_ATTR_SPEED;
2276
+ CHECK_STATUS (get (SAI_OBJECT_TYPE_PORT, port_id, 1 , &attr));
2277
+ }
2278
+ else if (!vs_get_oper_speed (port_id, attr.value .u32 ))
2264
2279
{
2265
2280
return SAI_STATUS_FAILURE;
2266
2281
}
@@ -2420,6 +2435,7 @@ sai_status_t SwitchStateBase::refresh_read_only(
2420
2435
*/
2421
2436
2422
2437
case SAI_PORT_ATTR_OPER_STATUS:
2438
+ case SAI_PORT_ATTR_HOST_TX_READY_STATUS:
2423
2439
return SAI_STATUS_SUCCESS;
2424
2440
2425
2441
case SAI_PORT_ATTR_FABRIC_ATTACHED:
0 commit comments