@@ -1289,6 +1289,11 @@ sai_status_t SwitchStateBase::create_ports()
1289
1289
attr.value .u32 = DEFAULT_VLAN_NUMBER;
1290
1290
1291
1291
CHECK_STATUS (set (SAI_OBJECT_TYPE_PORT, port_id, &attr));
1292
+
1293
+ attr.id = SAI_PORT_ATTR_HOST_TX_READY_STATUS;
1294
+ attr.value .u32 = SAI_PORT_HOST_TX_READY_STATUS_READY;
1295
+
1296
+ CHECK_STATUS (set (SAI_OBJECT_TYPE_PORT, port_id, &attr));
1292
1297
}
1293
1298
1294
1299
return SAI_STATUS_SUCCESS;
@@ -1753,6 +1758,11 @@ sai_status_t SwitchStateBase::create_port_dependencies(
1753
1758
1754
1759
CHECK_STATUS (set (SAI_OBJECT_TYPE_PORT, port_id, &attr));
1755
1760
1761
+ attr.id = SAI_PORT_ATTR_HOST_TX_READY_STATUS;
1762
+ attr.value .u32 = SAI_PORT_HOST_TX_READY_STATUS_READY;
1763
+
1764
+ CHECK_STATUS (set (SAI_OBJECT_TYPE_PORT, port_id, &attr));
1765
+
1756
1766
// attributes are not required since they will be set outside this function
1757
1767
1758
1768
CHECK_STATUS (create_ingress_priority_groups_per_port (port_id));
@@ -2314,7 +2324,12 @@ sai_status_t SwitchStateBase::refresh_port_oper_speed(
2314
2324
}
2315
2325
else
2316
2326
{
2317
- if (!vs_get_oper_speed (port_id, attr.value .u32 ))
2327
+ if (m_switchConfig->m_useConfiguredSpeedAsOperSpeed )
2328
+ {
2329
+ attr.id = SAI_PORT_ATTR_SPEED;
2330
+ CHECK_STATUS (get (SAI_OBJECT_TYPE_PORT, port_id, 1 , &attr));
2331
+ }
2332
+ else if (!vs_get_oper_speed (port_id, attr.value .u32 ))
2318
2333
{
2319
2334
return SAI_STATUS_FAILURE;
2320
2335
}
@@ -2474,6 +2489,7 @@ sai_status_t SwitchStateBase::refresh_read_only(
2474
2489
*/
2475
2490
2476
2491
case SAI_PORT_ATTR_OPER_STATUS:
2492
+ case SAI_PORT_ATTR_HOST_TX_READY_STATUS:
2477
2493
return SAI_STATUS_SUCCESS;
2478
2494
2479
2495
case SAI_PORT_ATTR_FABRIC_ATTACHED:
0 commit comments