@@ -160,12 +160,16 @@ i40e_tm_capabilities_get(struct rte_eth_dev *dev,
cap->shaper_private_rate_min = 0;
/* 40Gbps -> 5GBps */
cap->shaper_private_rate_max = 5000000000ull;
+ cap->shaper_private_packet_mode_supported = 0;
+ cap->shaper_private_byte_mode_supported = 1;
cap->shaper_shared_n_max = 0;
cap->shaper_shared_n_nodes_per_shaper_max = 0;
cap->shaper_shared_n_shapers_per_node_max = 0;
cap->shaper_shared_dual_rate_n_max = 0;
cap->shaper_shared_rate_min = 0;
cap->shaper_shared_rate_max = 0;
+ cap->shaper_shared_packet_mode_supported = 0;
+ cap->shaper_shared_byte_mode_supported = 0;
cap->sched_n_children_max = hw->func_caps.num_tx_qp;
/**
* HW supports SP. But no plan to support it now.
@@ -179,6 +183,8 @@ i40e_tm_capabilities_get(struct rte_eth_dev *dev,
* So, all the nodes should have the same weight.
*/
cap->sched_wfq_weight_max = 1;
+ cap->sched_wfq_packet_mode_supported = 0;
+ cap->sched_wfq_byte_mode_supported = 0;
cap->cman_head_drop_supported = 0;
cap->dynamic_update_mask = 0;
cap->shaper_pkt_length_adjust_min = RTE_TM_ETH_FRAMING_OVERHEAD;
@@ -754,6 +760,8 @@ i40e_level_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.shaper_private_rate_min = 0;
/* 40Gbps -> 5GBps */
cap->nonleaf.shaper_private_rate_max = 5000000000ull;
+ cap->nonleaf.shaper_private_packet_mode_supported = 0;
+ cap->nonleaf.shaper_private_byte_mode_supported = 1;
cap->nonleaf.shaper_shared_n_max = 0;
if (level_id == I40E_TM_NODE_TYPE_PORT)
cap->nonleaf.sched_n_children_max =
@@ -765,6 +773,8 @@ i40e_level_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.sched_wfq_n_children_per_group_max = 0;
cap->nonleaf.sched_wfq_n_groups_max = 0;
cap->nonleaf.sched_wfq_weight_max = 1;
+ cap->nonleaf.sched_wfq_packet_mode_supported = 0;
+ cap->nonleaf.sched_wfq_byte_mode_supported = 0;
cap->nonleaf.stats_mask = 0;
return 0;
@@ -776,6 +786,8 @@ i40e_level_capabilities_get(struct rte_eth_dev *dev,
cap->leaf.shaper_private_rate_min = 0;
/* 40Gbps -> 5GBps */
cap->leaf.shaper_private_rate_max = 5000000000ull;
+ cap->leaf.shaper_private_packet_mode_supported = 0;
+ cap->leaf.shaper_private_byte_mode_supported = 1;
cap->leaf.shaper_shared_n_max = 0;
cap->leaf.cman_head_drop_supported = false;
cap->leaf.cman_wred_context_private_supported = true;
@@ -817,6 +829,8 @@ i40e_node_capabilities_get(struct rte_eth_dev *dev,
cap->shaper_private_rate_min = 0;
/* 40Gbps -> 5GBps */
cap->shaper_private_rate_max = 5000000000ull;
+ cap->shaper_private_packet_mode_supported = 0;
+ cap->shaper_private_byte_mode_supported = 1;
cap->shaper_shared_n_max = 0;
if (node_type == I40E_TM_NODE_TYPE_QUEUE) {
@@ -834,6 +848,8 @@ i40e_node_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.sched_wfq_n_children_per_group_max = 0;
cap->nonleaf.sched_wfq_n_groups_max = 0;
cap->nonleaf.sched_wfq_weight_max = 1;
+ cap->nonleaf.sched_wfq_packet_mode_supported = 0;
+ cap->nonleaf.sched_wfq_byte_mode_supported = 0;
}
cap->stats_mask = 0;
@@ -440,6 +440,8 @@ ipn3ke_tm_capabilities_get(__rte_unused struct rte_eth_dev *dev,
cap->shaper_private_dual_rate_n_max = 0;
cap->shaper_private_rate_min = 1;
cap->shaper_private_rate_max = 1 + IPN3KE_TM_VT_NODE_NUM;
+ cap->shaper_private_packet_mode_supported = 0;
+ cap->shaper_private_byte_mode_supported = 1;
cap->shaper_shared_n_max = 0;
cap->shaper_shared_n_nodes_per_shaper_max = 0;
@@ -447,6 +449,8 @@ ipn3ke_tm_capabilities_get(__rte_unused struct rte_eth_dev *dev,
cap->shaper_shared_dual_rate_n_max = 0;
cap->shaper_shared_rate_min = 0;
cap->shaper_shared_rate_max = 0;
+ cap->shaper_shared_packet_mode_supported = 0;
+ cap->shaper_shared_byte_mode_supported = 0;
cap->shaper_pkt_length_adjust_min = RTE_TM_ETH_FRAMING_OVERHEAD_FCS;
cap->shaper_pkt_length_adjust_max = RTE_TM_ETH_FRAMING_OVERHEAD_FCS;
@@ -456,6 +460,8 @@ ipn3ke_tm_capabilities_get(__rte_unused struct rte_eth_dev *dev,
cap->sched_wfq_n_children_per_group_max = UINT32_MAX;
cap->sched_wfq_n_groups_max = 1;
cap->sched_wfq_weight_max = UINT32_MAX;
+ cap->sched_wfq_packet_mode_supported = 0;
+ cap->sched_wfq_byte_mode_supported = 1;
cap->cman_wred_packet_mode_supported = 0;
cap->cman_wred_byte_mode_supported = 0;
@@ -517,6 +523,8 @@ ipn3ke_tm_level_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.shaper_private_dual_rate_supported = 0;
cap->nonleaf.shaper_private_rate_min = 1;
cap->nonleaf.shaper_private_rate_max = UINT32_MAX;
+ cap->nonleaf.shaper_private_packet_mode_supported = 0;
+ cap->nonleaf.shaper_private_byte_mode_supported = 1;
cap->nonleaf.shaper_shared_n_max = 0;
cap->nonleaf.sched_n_children_max = IPN3KE_TM_VT_NODE_NUM;
@@ -524,6 +532,8 @@ ipn3ke_tm_level_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.sched_wfq_n_children_per_group_max = 0;
cap->nonleaf.sched_wfq_n_groups_max = 0;
cap->nonleaf.sched_wfq_weight_max = 0;
+ cap->nonleaf.sched_wfq_packet_mode_supported = 0;
+ cap->nonleaf.sched_wfq_byte_mode_supported = 0;
cap->nonleaf.stats_mask = STATS_MASK_DEFAULT;
break;
@@ -539,6 +549,8 @@ ipn3ke_tm_level_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.shaper_private_dual_rate_supported = 0;
cap->nonleaf.shaper_private_rate_min = 1;
cap->nonleaf.shaper_private_rate_max = UINT32_MAX;
+ cap->nonleaf.shaper_private_packet_mode_supported = 0;
+ cap->nonleaf.shaper_private_byte_mode_supported = 1;
cap->nonleaf.shaper_shared_n_max = 0;
cap->nonleaf.sched_n_children_max = IPN3KE_TM_COS_NODE_NUM;
@@ -546,6 +558,8 @@ ipn3ke_tm_level_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.sched_wfq_n_children_per_group_max = 0;
cap->nonleaf.sched_wfq_n_groups_max = 0;
cap->nonleaf.sched_wfq_weight_max = 0;
+ cap->nonleaf.sched_wfq_packet_mode_supported = 0;
+ cap->nonleaf.sched_wfq_byte_mode_supported = 0;
cap->nonleaf.stats_mask = STATS_MASK_DEFAULT;
break;
@@ -561,6 +575,8 @@ ipn3ke_tm_level_capabilities_get(struct rte_eth_dev *dev,
cap->leaf.shaper_private_dual_rate_supported = 0;
cap->leaf.shaper_private_rate_min = 0;
cap->leaf.shaper_private_rate_max = 0;
+ cap->leaf.shaper_private_packet_mode_supported = 0;
+ cap->leaf.shaper_private_byte_mode_supported = 1;
cap->leaf.shaper_shared_n_max = 0;
cap->leaf.cman_head_drop_supported = 0;
@@ -632,6 +648,8 @@ ipn3ke_tm_node_capabilities_get(struct rte_eth_dev *dev,
cap->shaper_private_dual_rate_supported = 0;
cap->shaper_private_rate_min = 1;
cap->shaper_private_rate_max = UINT32_MAX;
+ cap->shaper_private_packet_mode_supported = 0;
+ cap->shaper_private_byte_mode_supported = 1;
cap->shaper_shared_n_max = 0;
cap->nonleaf.sched_n_children_max = IPN3KE_TM_VT_NODE_NUM;
@@ -640,6 +658,8 @@ ipn3ke_tm_node_capabilities_get(struct rte_eth_dev *dev,
IPN3KE_TM_VT_NODE_NUM;
cap->nonleaf.sched_wfq_n_groups_max = 1;
cap->nonleaf.sched_wfq_weight_max = 1;
+ cap->nonleaf.sched_wfq_packet_mode_supported = 0;
+ cap->nonleaf.sched_wfq_byte_mode_supported = 0;
cap->stats_mask = STATS_MASK_DEFAULT;
break;
@@ -649,6 +669,8 @@ ipn3ke_tm_node_capabilities_get(struct rte_eth_dev *dev,
cap->shaper_private_dual_rate_supported = 0;
cap->shaper_private_rate_min = 1;
cap->shaper_private_rate_max = UINT32_MAX;
+ cap->shaper_private_packet_mode_supported = 0;
+ cap->shaper_private_byte_mode_supported = 1;
cap->shaper_shared_n_max = 0;
cap->nonleaf.sched_n_children_max = IPN3KE_TM_COS_NODE_NUM;
@@ -657,6 +679,8 @@ ipn3ke_tm_node_capabilities_get(struct rte_eth_dev *dev,
IPN3KE_TM_COS_NODE_NUM;
cap->nonleaf.sched_wfq_n_groups_max = 1;
cap->nonleaf.sched_wfq_weight_max = 1;
+ cap->nonleaf.sched_wfq_packet_mode_supported = 0;
+ cap->nonleaf.sched_wfq_byte_mode_supported = 0;
cap->stats_mask = STATS_MASK_DEFAULT;
break;
@@ -666,6 +690,8 @@ ipn3ke_tm_node_capabilities_get(struct rte_eth_dev *dev,
cap->shaper_private_dual_rate_supported = 0;
cap->shaper_private_rate_min = 0;
cap->shaper_private_rate_max = 0;
+ cap->shaper_private_packet_mode_supported = 0;
+ cap->shaper_private_byte_mode_supported = 0;
cap->shaper_shared_n_max = 0;
cap->leaf.cman_head_drop_supported = 0;
@@ -168,12 +168,16 @@ ixgbe_tm_capabilities_get(struct rte_eth_dev *dev,
cap->shaper_private_rate_min = 0;
/* 10Gbps -> 1.25GBps */
cap->shaper_private_rate_max = 1250000000ull;
+ cap->shaper_private_packet_mode_supported = 0;
+ cap->shaper_private_byte_mode_supported = 1;
cap->shaper_shared_n_max = 0;
cap->shaper_shared_n_nodes_per_shaper_max = 0;
cap->shaper_shared_n_shapers_per_node_max = 0;
cap->shaper_shared_dual_rate_n_max = 0;
cap->shaper_shared_rate_min = 0;
cap->shaper_shared_rate_max = 0;
+ cap->shaper_shared_packet_mode_supported = 0;
+ cap->shaper_shared_byte_mode_supported = 0;
cap->sched_n_children_max = hw->mac.max_tx_queues;
/**
* HW supports SP. But no plan to support it now.
@@ -182,6 +186,8 @@ ixgbe_tm_capabilities_get(struct rte_eth_dev *dev,
cap->sched_sp_n_priorities_max = 1;
cap->sched_wfq_n_children_per_group_max = 0;
cap->sched_wfq_n_groups_max = 0;
+ cap->sched_wfq_packet_mode_supported = 0;
+ cap->sched_wfq_byte_mode_supported = 0;
/**
* SW only supports fair round robin now.
* So, all the nodes should have the same weight.
@@ -875,6 +881,8 @@ ixgbe_level_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.shaper_private_rate_min = 0;
/* 10Gbps -> 1.25GBps */
cap->nonleaf.shaper_private_rate_max = 1250000000ull;
+ cap->nonleaf.shaper_private_packet_mode_supported = 0;
+ cap->nonleaf.shaper_private_byte_mode_supported = 1;
cap->nonleaf.shaper_shared_n_max = 0;
if (level_id == IXGBE_TM_NODE_TYPE_PORT)
cap->nonleaf.sched_n_children_max =
@@ -886,6 +894,8 @@ ixgbe_level_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.sched_wfq_n_children_per_group_max = 0;
cap->nonleaf.sched_wfq_n_groups_max = 0;
cap->nonleaf.sched_wfq_weight_max = 1;
+ cap->nonleaf.sched_wfq_packet_mode_supported = 0;
+ cap->nonleaf.sched_wfq_byte_mode_supported = 0;
cap->nonleaf.stats_mask = 0;
return 0;
@@ -897,6 +907,8 @@ ixgbe_level_capabilities_get(struct rte_eth_dev *dev,
cap->leaf.shaper_private_rate_min = 0;
/* 10Gbps -> 1.25GBps */
cap->leaf.shaper_private_rate_max = 1250000000ull;
+ cap->leaf.shaper_private_packet_mode_supported = 0;
+ cap->leaf.shaper_private_byte_mode_supported = 1;
cap->leaf.shaper_shared_n_max = 0;
cap->leaf.cman_head_drop_supported = false;
cap->leaf.cman_wred_context_private_supported = true;
@@ -938,6 +950,8 @@ ixgbe_node_capabilities_get(struct rte_eth_dev *dev,
cap->shaper_private_rate_min = 0;
/* 10Gbps -> 1.25GBps */
cap->shaper_private_rate_max = 1250000000ull;
+ cap->shaper_private_packet_mode_supported = 0;
+ cap->shaper_private_byte_mode_supported = 1;
cap->shaper_shared_n_max = 0;
if (node_type == IXGBE_TM_NODE_TYPE_QUEUE) {
@@ -955,6 +969,8 @@ ixgbe_node_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.sched_wfq_n_children_per_group_max = 0;
cap->nonleaf.sched_wfq_n_groups_max = 0;
cap->nonleaf.sched_wfq_weight_max = 1;
+ cap->nonleaf.sched_wfq_packet_mode_supported = 0;
+ cap->nonleaf.sched_wfq_byte_mode_supported = 0;
}
cap->stats_mask = 0;
@@ -193,12 +193,16 @@ mrvl_capabilities_get(struct rte_eth_dev *dev,
cap->shaper_private_n_max = cap->shaper_n_max;
cap->shaper_private_rate_min = MRVL_RATE_MIN;
cap->shaper_private_rate_max = priv->rate_max;
+ cap->shaper_private_packet_mode_supported = 0;
+ cap->shaper_private_byte_mode_supported = 1;
cap->sched_n_children_max = dev->data->nb_tx_queues;
cap->sched_sp_n_priorities_max = dev->data->nb_tx_queues;
cap->sched_wfq_n_children_per_group_max = dev->data->nb_tx_queues;
cap->sched_wfq_n_groups_max = 1;
cap->sched_wfq_weight_max = MRVL_WEIGHT_MAX;
+ cap->sched_wfq_packet_mode_supported = 0;
+ cap->sched_wfq_byte_mode_supported = 1;
cap->dynamic_update_mask = RTE_TM_UPDATE_NODE_SUSPEND_RESUME |
RTE_TM_UPDATE_NODE_STATS;
@@ -244,6 +248,8 @@ mrvl_level_capabilities_get(struct rte_eth_dev *dev,
cap->nonleaf.shaper_private_supported = 1;
cap->nonleaf.shaper_private_rate_min = MRVL_RATE_MIN;
cap->nonleaf.shaper_private_rate_max = priv->rate_max;
+ cap->nonleaf.shaper_private_packet_mode_supported = 0;
+ cap->nonleaf.shaper_private_byte_mode_supported = 1;
cap->nonleaf.sched_n_children_max = dev->data->nb_tx_queues;
cap->nonleaf.sched_sp_n_priorities_max = 1;
@@ -251,6 +257,8 @@ mrvl_level_capabilities_get(struct rte_eth_dev *dev,
dev->data->nb_tx_queues;
cap->nonleaf.sched_wfq_n_groups_max = 1;
cap->nonleaf.sched_wfq_weight_max = MRVL_WEIGHT_MAX;
+ cap->nonleaf.sched_wfq_packet_mode_supported = 0;
+ cap->nonleaf.sched_wfq_byte_mode_supported = 1;
cap->nonleaf.stats_mask = RTE_TM_STATS_N_PKTS |
RTE_TM_STATS_N_BYTES;
} else { /* level_id == MRVL_NODE_QUEUE */
@@ -261,6 +269,8 @@ mrvl_level_capabilities_get(struct rte_eth_dev *dev,
cap->leaf.shaper_private_supported = 1;
cap->leaf.shaper_private_rate_min = MRVL_RATE_MIN;
cap->leaf.shaper_private_rate_max = priv->rate_max;
+ cap->leaf.shaper_private_packet_mode_supported = 0;
+ cap->leaf.shaper_private_byte_mode_supported = 1;
cap->leaf.stats_mask = RTE_TM_STATS_N_PKTS;
}
@@ -300,6 +310,8 @@ mrvl_node_capabilities_get(struct rte_eth_dev *dev, uint32_t node_id,
cap->shaper_private_supported = 1;
cap->shaper_private_rate_min = MRVL_RATE_MIN;
cap->shaper_private_rate_max = priv->rate_max;
+ cap->shaper_private_packet_mode_supported = 0;
+ cap->shaper_private_byte_mode_supported = 1;
if (node->type == MRVL_NODE_PORT) {
cap->nonleaf.sched_n_children_max = dev->data->nb_tx_queues;
@@ -308,6 +320,8 @@ mrvl_node_capabilities_get(struct rte_eth_dev *dev, uint32_t node_id,
dev->data->nb_tx_queues;
cap->nonleaf.sched_wfq_n_groups_max = 1;
cap->nonleaf.sched_wfq_weight_max = MRVL_WEIGHT_MAX;
+ cap->nonleaf.sched_wfq_packet_mode_supported = 0;
+ cap->nonleaf.sched_wfq_byte_mode_supported = 1;
cap->stats_mask = RTE_TM_STATS_N_PKTS | RTE_TM_STATS_N_BYTES;
} else {
cap->stats_mask = RTE_TM_STATS_N_PKTS;
@@ -447,6 +447,8 @@ static const struct rte_tm_capabilities tm_cap = {
.shaper_private_dual_rate_n_max = 0,
.shaper_private_rate_min = 1,
.shaper_private_rate_max = UINT32_MAX,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 1,
.shaper_shared_n_max = UINT32_MAX,
.shaper_shared_n_nodes_per_shaper_max = UINT32_MAX,
@@ -454,6 +456,8 @@ static const struct rte_tm_capabilities tm_cap = {
.shaper_shared_dual_rate_n_max = 0,
.shaper_shared_rate_min = 1,
.shaper_shared_rate_max = UINT32_MAX,
+ .shaper_shared_packet_mode_supported = 0,
+ .shaper_shared_byte_mode_supported = 1,
.shaper_pkt_length_adjust_min = RTE_TM_ETH_FRAMING_OVERHEAD_FCS,
.shaper_pkt_length_adjust_max = RTE_TM_ETH_FRAMING_OVERHEAD_FCS,
@@ -463,6 +467,8 @@ static const struct rte_tm_capabilities tm_cap = {
.sched_wfq_n_children_per_group_max = UINT32_MAX,
.sched_wfq_n_groups_max = 1,
.sched_wfq_weight_max = UINT32_MAX,
+ .sched_wfq_packet_mode_supported = 0,
+ .sched_wfq_byte_mode_supported = 1,
.cman_wred_packet_mode_supported = WRED_SUPPORTED,
.cman_wred_byte_mode_supported = 0,
@@ -548,6 +554,8 @@ static const struct rte_tm_level_capabilities tm_level_cap[] = {
.shaper_private_dual_rate_supported = 0,
.shaper_private_rate_min = 1,
.shaper_private_rate_max = UINT32_MAX,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 1,
.shaper_shared_n_max = 0,
.sched_n_children_max = UINT32_MAX,
@@ -555,6 +563,8 @@ static const struct rte_tm_level_capabilities tm_level_cap[] = {
.sched_wfq_n_children_per_group_max = UINT32_MAX,
.sched_wfq_n_groups_max = 1,
.sched_wfq_weight_max = 1,
+ .sched_wfq_packet_mode_supported = 0,
+ .sched_wfq_byte_mode_supported = 0,
.stats_mask = STATS_MASK_DEFAULT,
} },
@@ -572,6 +582,8 @@ static const struct rte_tm_level_capabilities tm_level_cap[] = {
.shaper_private_dual_rate_supported = 0,
.shaper_private_rate_min = 1,
.shaper_private_rate_max = UINT32_MAX,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 1,
.shaper_shared_n_max = 0,
.sched_n_children_max = UINT32_MAX,
@@ -580,9 +592,14 @@ static const struct rte_tm_level_capabilities tm_level_cap[] = {
.sched_wfq_n_groups_max = 1,
#ifdef RTE_SCHED_SUBPORT_TC_OV
.sched_wfq_weight_max = UINT32_MAX,
+ .sched_wfq_packet_mode_supported = 0,
+ .sched_wfq_byte_mode_supported = 1,
#else
.sched_wfq_weight_max = 1,
+ .sched_wfq_packet_mode_supported = 0,
+ .sched_wfq_byte_mode_supported = 0,
#endif
+
.stats_mask = STATS_MASK_DEFAULT,
} },
},
@@ -599,6 +616,8 @@ static const struct rte_tm_level_capabilities tm_level_cap[] = {
.shaper_private_dual_rate_supported = 0,
.shaper_private_rate_min = 1,
.shaper_private_rate_max = UINT32_MAX,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 1,
.shaper_shared_n_max = 0,
.sched_n_children_max =
@@ -608,6 +627,8 @@ static const struct rte_tm_level_capabilities tm_level_cap[] = {
.sched_wfq_n_children_per_group_max = 1,
.sched_wfq_n_groups_max = 0,
.sched_wfq_weight_max = 1,
+ .sched_wfq_packet_mode_supported = 0,
+ .sched_wfq_byte_mode_supported = 0,
.stats_mask = STATS_MASK_DEFAULT,
} },
@@ -625,6 +646,8 @@ static const struct rte_tm_level_capabilities tm_level_cap[] = {
.shaper_private_dual_rate_supported = 0,
.shaper_private_rate_min = 1,
.shaper_private_rate_max = UINT32_MAX,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 1,
.shaper_shared_n_max = 1,
.sched_n_children_max =
@@ -634,6 +657,8 @@ static const struct rte_tm_level_capabilities tm_level_cap[] = {
RTE_SCHED_BE_QUEUES_PER_PIPE,
.sched_wfq_n_groups_max = 1,
.sched_wfq_weight_max = UINT32_MAX,
+ .sched_wfq_packet_mode_supported = 0,
+ .sched_wfq_byte_mode_supported = 1,
.stats_mask = STATS_MASK_DEFAULT,
} },
@@ -651,6 +676,8 @@ static const struct rte_tm_level_capabilities tm_level_cap[] = {
.shaper_private_dual_rate_supported = 0,
.shaper_private_rate_min = 0,
.shaper_private_rate_max = 0,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 0,
.shaper_shared_n_max = 0,
.cman_head_drop_supported = 0,
@@ -736,6 +763,8 @@ static const struct rte_tm_node_capabilities tm_node_cap[] = {
.shaper_private_dual_rate_supported = 0,
.shaper_private_rate_min = 1,
.shaper_private_rate_max = UINT32_MAX,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 1,
.shaper_shared_n_max = 0,
{.nonleaf = {
@@ -744,6 +773,8 @@ static const struct rte_tm_node_capabilities tm_node_cap[] = {
.sched_wfq_n_children_per_group_max = UINT32_MAX,
.sched_wfq_n_groups_max = 1,
.sched_wfq_weight_max = 1,
+ .sched_wfq_packet_mode_supported = 0,
+ .sched_wfq_byte_mode_supported = 0,
} },
.stats_mask = STATS_MASK_DEFAULT,
@@ -754,6 +785,8 @@ static const struct rte_tm_node_capabilities tm_node_cap[] = {
.shaper_private_dual_rate_supported = 0,
.shaper_private_rate_min = 1,
.shaper_private_rate_max = UINT32_MAX,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 1,
.shaper_shared_n_max = 0,
{.nonleaf = {
@@ -762,6 +795,8 @@ static const struct rte_tm_node_capabilities tm_node_cap[] = {
.sched_wfq_n_children_per_group_max = UINT32_MAX,
.sched_wfq_n_groups_max = 1,
.sched_wfq_weight_max = UINT32_MAX,
+ .sched_wfq_packet_mode_supported = 0,
+ .sched_wfq_byte_mode_supported = 0,
} },
.stats_mask = STATS_MASK_DEFAULT,
@@ -772,6 +807,8 @@ static const struct rte_tm_node_capabilities tm_node_cap[] = {
.shaper_private_dual_rate_supported = 0,
.shaper_private_rate_min = 1,
.shaper_private_rate_max = UINT32_MAX,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 1,
.shaper_shared_n_max = 0,
{.nonleaf = {
@@ -782,6 +819,8 @@ static const struct rte_tm_node_capabilities tm_node_cap[] = {
.sched_wfq_n_children_per_group_max = 1,
.sched_wfq_n_groups_max = 0,
.sched_wfq_weight_max = 1,
+ .sched_wfq_packet_mode_supported = 0,
+ .sched_wfq_byte_mode_supported = 0,
} },
.stats_mask = STATS_MASK_DEFAULT,
@@ -792,6 +831,8 @@ static const struct rte_tm_node_capabilities tm_node_cap[] = {
.shaper_private_dual_rate_supported = 0,
.shaper_private_rate_min = 1,
.shaper_private_rate_max = UINT32_MAX,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 1,
.shaper_shared_n_max = 1,
{.nonleaf = {
@@ -802,6 +843,8 @@ static const struct rte_tm_node_capabilities tm_node_cap[] = {
RTE_SCHED_BE_QUEUES_PER_PIPE,
.sched_wfq_n_groups_max = 1,
.sched_wfq_weight_max = UINT32_MAX,
+ .sched_wfq_packet_mode_supported = 0,
+ .sched_wfq_byte_mode_supported = 1,
} },
.stats_mask = STATS_MASK_DEFAULT,
@@ -812,6 +855,8 @@ static const struct rte_tm_node_capabilities tm_node_cap[] = {
.shaper_private_dual_rate_supported = 0,
.shaper_private_rate_min = 0,
.shaper_private_rate_max = 0,
+ .shaper_private_packet_mode_supported = 0,
+ .shaper_private_byte_mode_supported = 0,
.shaper_shared_n_max = 0,